1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-11 17:58:16 +03:00

87 Commits

Author SHA1 Message Date
Andrew Tridgell
5e54558c6d r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
2007-10-10 12:28:22 -05:00
Jeremy Allison
d824b98f80 r23779: Change from v2 or later to v3 or later.
Jeremy.
(This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
2007-10-10 12:28:20 -05:00
Jeremy Allison
981588d579 r17873: Fix possible null deref found by Stanford checker.
Jeremy.
(This used to be commit 1adb3b2432187e9a19b78cfa5762c3e05a357392)
2007-10-10 11:38:56 -05:00
Jeremy Allison
4340b7cea7 r16426: Klocwork #1544, #1545, #1546, #1549, #1550, #1552, #1553, #1554
Jeremy.
(This used to be commit e71cc6647a2eaba0eac95b6abb40745e45db72a4)
2007-10-10 11:18:53 -05:00
Jeremy Allison
894358a8f3 r13915: Fixed a very interesting class of realloc() bugs found by Coverity.
realloc can return NULL in one of two cases - (1) the realloc failed,
(2) realloc succeeded but the new size requested was zero, in which
case this is identical to a free() call.

The error paths dealing with these two cases should be different,
but mostly weren't. Secondly the standard idiom for dealing with
realloc when you know the new size is non-zero is the following :

 tmp = realloc(p, size);
 if (!tmp) {
    SAFE_FREE(p);
    return error;
 } else {
    p = tmp;
 }

However, there were *many* *many* places in Samba where we were
using the old (broken) idiom of :

 p = realloc(p, size)
 if (!p) {
    return error;
 }

which will leak the memory pointed to by p on realloc fail.

This commit (hopefully) fixes all these cases by moving to
a standard idiom of :

 p = SMB_REALLOC(p, size)
 if (!p) {
    return error;
 }

Where if the realloc returns null due to the realloc failing
or size == 0 we *guarentee* that the storage pointed to by p
has been freed. This allows me to remove a lot of code that
was dealing with the standard (more verbose) method that required
a tmp pointer. This is almost always what you want. When a
realloc fails you never usually want the old memory, you
want to free it and get into your error processing asap.

For the 11 remaining cases where we really do need to keep the
old pointer I have invented the new macro SMB_REALLOC_KEEP_OLD_ON_ERROR,
which can be used as follows :

 tmp = SMB_REALLOC_KEEP_OLD_ON_ERROR(p, size);
 if (!tmp) {
    SAFE_FREE(p);
    return error;
 } else {
    p = tmp;
 }

SMB_REALLOC_KEEP_OLD_ON_ERROR guarentees never to free the
pointer p, even on size == 0 or realloc fail. All this is
done by a hidden extra argument to Realloc(), BOOL free_old_on_error
which is set appropriately by the SMB_REALLOC and SMB_REALLOC_KEEP_OLD_ON_ERROR
macros (and their array counterparts).

It remains to be seen what this will do to our Coverity bug count :-).

Jeremy.
(This used to be commit 1d710d06a214f3f1740e80e0bffd6aab44aac2b0)
2007-10-10 11:10:59 -05:00
Gerald Carter
fb5362c069 r13571: Replace all calls to talloc_free() with thye TALLOC_FREE()
macro which sets the freed pointer to NULL.
(This used to be commit b65be8874a2efe5a4b167448960a4fcf6bd995e2)
2007-10-10 11:10:14 -05:00
Gerald Carter
0af1500fc0 r13316: Let the carnage begin....
Sync with trunk as off r13315
(This used to be commit 17e63ac4ed8325c0d44fe62b2442449f3298559f)
2007-10-10 11:06:23 -05:00
Jeremy Allison
af8a691db1 r8219: Merge the new open code from HEAD to 3.0. Haven't yet run the torture
tests on this as it's very late NY time (just wanted to get this work
into the tree). I'll test this over the weekend....
Jerry - in looking at the difference between the two trees there
seem to be some printing/ntprinting.c and registry changes we might
want to examine to try keep in sync.
Jeremy.
(This used to be commit c7fe18761e2c753afbffd3a78abff46472a9b8eb)
2007-10-10 10:58:18 -05:00
Jeremy Allison
23c143dc41 r4577: Fix from William Jojo <jojowil@hvcc.edu> for AIX 5.3 compile.
Jeremy.
(This used to be commit 80e7c6c312eb0bdb93fe381e7ce3a24a21dd9cf0)
2007-10-10 10:53:47 -05:00
Jeremy Allison
acf9d61421 r4088: Get medieval on our ass about malloc.... :-). Take control of all our allocation
functions so we can funnel through some well known functions. Should help greatly with
malloc checking.
HEAD patch to follow.
Jeremy.
(This used to be commit 620f2e608f70ba92f032720c031283d295c5c06a)
2007-10-10 10:53:32 -05:00
Tim Potter
b4cf9e9505 r2835: Since we always have -I. and -I$(srcdir) in CFLAGS, we can get rid of
'..' from all #include preprocessor commands.   This fixes bugzilla #1880
where OpenVMS gets confused about the '.' characters.
(This used to be commit 7f161702fa4916979602cc0295919b541912acd6)
2007-10-10 10:52:55 -05:00
Günther Deschner
b2dc329d43 r2771: Second (and last) part of Swat-i18n-Patch from Björn Jacke
<bjacke@sernet.de>

"Do not use display charset for swat output. In HTML we do not care
about the "locale charmap" because HTML code is UTF-8 only now.
Additionally take care that we convert files from statuspage from unix
charset to UTF-8. Thus we have correct HTML output under all
circumstances. We now also convert the share names correctly from unix
encoding to web encoding and vice vera.  "

Guenther
(This used to be commit 6d9f77c2bb95db4939b8ef375e22b188168b70ab)
2007-10-10 10:52:52 -05:00
Gerald Carter
db1ff9b348 r1833: patch from James Peach to get swat to look for index.html by default when given a trailing directory/
(This used to be commit 980740da784ce00ad1b388872297b82d4d368044)
2007-10-10 10:52:21 -05:00
Jeremy Allison
e3f5b54270 Restore the contract on all convert_stringXX() interfaces. Add a "allow_bad_conv"
boolean parameter that allows broken iconv conversions to work. Gets rid of the
nasty errno checks in mangle_hash2 and check_path_syntax and allows correct
return code checking.
Jeremy.
(This used to be commit 7b96765c23637613f079d37566d95d5edd511f05)
2004-03-11 22:48:24 +00:00
Andrew Bartlett
d198c55877 Make more functions static, and remove duplication in the use of functions
in lib/smbpasswd.c that were exact duplicates of functions in passdb/passdb.c

(These should perhaps be pulled back out to smbpasswd.c, but that can occour
later).

Andrew Bartlett
(This used to be commit fcdc5efb1e245c8fa95cd031f67ec56093b9056e)
2004-02-08 08:38:42 +00:00
Andrew Bartlett
3b38606491 Fix bug 916 - do not perform a + -> space substitution for squid URL encoded
strings, only form input in SWAT.

Andrew Bartlett
(This used to be commit 8d54f5fe0c5689660f37788916b37014754ce23e)
2003-12-25 09:37:41 +00:00
Gerald Carter
7d9fb45339 include WWW-Authenticate field in 401 response for bad auth attempt; bug 629
(This used to be commit 879d0f15ea260d61c56c5b841065ecb2f5ec26ca)
2003-11-22 06:16:01 +00:00
Volker Lendecke
d5573ccde3 Simple rename of get_socket_addr to get_peer_addr and get_socket_name to
get_peer_name. This is to get closer to the getsockname/getpeername system
functions.

Next step will be the %i macro for the local IP address. I still want to play
%L-games in times of port 445.

Volker
(This used to be commit d7162122eaf5d897e5de51604e431bfbaa20e905)
2003-11-07 09:03:02 +00:00
Jeremy Allison
bb0598faf5 Put strcasecmp/strncasecmp on the banned list (except for needed calls
in iconv.c and nsswitch/). Using them means you're not thinking about multibyte at
all and I really want to discourage that.
Jeremy.
(This used to be commit d7e35dfb9283d560d0ed2ab231f36ed92767dace)
2003-10-22 23:38:20 +00:00
Gerald Carter
da8048b4fa call initgroups before becomming the user; patch from Fabio Cecchi
(This used to be commit 5a8dbccd66911642fabb6b8b38fff4477b76c3a1)
2003-10-21 14:19:32 +00:00
Jelmer Vernooij
938f37afc2 Fix HTTP error codes (patch by Vance Lankhaar)
(This used to be commit e660b0b8d034c6cb9771601c64b952380d136ca1)
2003-02-28 08:48:26 +00:00
Jim McDonough
17ec9642cd base64_decode() with heimdal libs, so I've renamed it base64_decode_inplace().
(This used to be commit d510ff85fb0dafddf3dea9412a09eeee6e70f0cb)
2003-02-18 23:17:59 +00:00
Andrew Bartlett
9c858c3188 Merge from HEAD - convert username/password to unix before checking them in
SWAT.
(This used to be commit 8485c51bc47f45a6263bda83a0bc3ba15abcd250)
2003-02-01 07:27:01 +00:00
Andrew Bartlett
1cba0a7579 Merge from HEAD:
- NTLMSSP over SPENGO (sesssion-setup-and-x) cleanup and code refactor.
  - also consequential changes to the NTLMSSP and SPNEGO parsing functions
  - and the client code that uses the same functions
 - Add ntlm_auth, a NTLMSSP authentication interface for use by applications
   like Squid and Apache.
  - also consquential changes to use common code for base64 encode/decode.
 - Winbind changes to support ntlm_auth (I don't want this program to need
   to read smb.conf, instead getting all it's details over the pipe).
 - nmbd changes for fstrcat() instead of fstrcpy().

Andrew Bartlett
(This used to be commit fbb46da79cf322570a7e3318100c304bbf33409e)
2003-01-28 12:07:02 +00:00
Gerald Carter
99cdb46208 *lots of small merges form HEAD
*sync up configure.in
*don't build torture tools in make all
*make sure to remove torture tools as part of make clean
(This used to be commit 0fb724b3216eeeb97e61ff12755ca3a31bcad6ef)
2003-01-15 18:57:41 +00:00
Andrew Bartlett
634c54310c Merge from HEAD - make Samba compile with -Wwrite-strings without additional
warnings.  (Adds a lot of const).

Andrew Bartlett
(This used to be commit 3a7458f9472432ef12c43008414925fd1ce8ea0c)
2003-01-03 08:28:12 +00:00
Andrew Bartlett
35ac9d287f Try to catch up on the code I've put into HEAD that should be in 3.0:
- vorlan's hosts allow with DNS names patch
 - use x_fileno() in debug.c, not the struct directly.
 - check for server timeout on password change (was reporting success)
 - better error/status loggin in both the pam_winbind client and winbindd_pam
server code.
 - (pdb_ldap) don't set the ldap version twice - we do it on every bind anyway.
(This used to be commit 9fa1863d8e7788eda83911ca2610754486b33069)
2002-10-26 02:20:59 +00:00
Jeremy Allison
8c2a62c555 Use memmove when copies can overlap. Spotted by SUGIOKA Toshinobu <sugioka@itonet.co.jp>.
Jeremy.
(This used to be commit 0ab08186f419a09e15f1ab7db621d429b1a3f994)
2002-10-09 19:47:04 +00:00
Andrew Tridgell
e90b652848 updated the 3.0 branch from the head branch - ready for alpha18
(This used to be commit 03ac082dcb375b6f3ca3d810a6a6367542bc23ce)
2002-07-15 10:35:28 +00:00
Andrew Bartlett
e1793bde61 getpwnam -> getpwnam_alloc
(This used to be commit f8208458b3ac05743932d96e4d0a919adc0d9e55)
2002-01-21 00:47:02 +00:00
Andrew Bartlett
c311d24ce3 A nice *big* change to the fundemental way we do things.
Samba (ab)uses the returns from getpwnam() a lot - in particular it keeps
them around for a long time - often past the next call...

This adds a getpwnam_alloc and a getpwuid_alloc to the collection.

These function as expected, returning a malloced structure that can be
free()ed with passwd_free(&passwd).

This patch also cuts down on the number of calls to getpwnam - mostly by
taking advantage of the fact that the passdb interface is already
case-insensiteve.

With this patch most of the recursive cases have been removed (that I know
of) and the problems are reduced further by not using the sys_ interface
in the new code.  This means that pointers to the cache won't be affected.
(This is a tempoary HACK, I intend to kill the password cache entirly).

The only change I'm a little worried about is the change to
rpc_server/srv_samr_nt.c for private groups.  In this case we are getting
groups from the new group mapping DB.  Do we still need to check for private
groups?  I've toned down the check to a case sensitve match with the new code,
but we might be able to kill it entirly.

I've also added a make_modifyable_passwd() function, that copies a passwd
struct into the form that the old sys_getpw* code provided.  As far as I can
tell this is only actually used in the pass_check.c crazies, where I moved
the final 'special case' for shadow passwords (out of _Get_Pwnam()).

The matching case for getpwent() is dealt with already, in lib/util_getent.c

Also included in here is a small change to register the [homes] share at vuid
creation rather than just in one varient of the session setup.  (This picks
up the SPNEGO cases).  The home directory is now stored on the vuid, and I
am hoping this might provide a saner way to do %H substitions.

TODO:  Kill off remaining Get_Pwnam_Modify calls (they are not needed), change
the remaining sys_getpwnam() callers to use getpwnam_alloc() and move
Get_Pwnam to return an allocated struct.

Andrew Bartlett
(This used to be commit 1d86c7f94230bc53daebd4d2cd829da6292e05da)
2002-01-17 08:45:58 +00:00
Martin Pool
a1b9de0b98 Fix const warning. Doxyfy comment.
(This used to be commit 91e07a7fdc47b2baf42fc06e77d1e1d883111668)
2001-11-19 02:48:23 +00:00
Andrew Tridgell
a689b24db1 the next step in the intl changeover. This should get us compiling agian,
and also completes the switch to lang_tdb.c. SWAT should now work
with a po file in the lib/ directory

also removed useless SYSLOG defines in many files
(This used to be commit 5296b20ad85d7519c870768455cb4d8df048c55a)
2001-10-14 12:10:29 +00:00
Jeremy Allison
6ddcd8a3bc Fixup passdb stuff to add new nisplus and ldap backends.
Jeremy.
(This used to be commit 611bf806d569b70edabbc04a2f5408142370a550)
2001-09-25 20:21:21 +00:00
Motonobu Takahashi
96db4b1ba3 Added SWAT i18n feature:
TO enable configure with --with-i18n-swat
  to support this gettext is integrated
  and a new directories name "po" and "intl" are created.

  now these languages are supported:

  en - English (default)
  ja - Japanese
  po - Polish
  tr - Turkish

  To add your language,
  to create ${your_language}.po by translating source/po/en.po
  into your language is needed.

  some of html and image files of various language version are not
  included yet, though message catalogue files are installed.
  you need to copy files manually under
  ${swatdir}/lang/$ln/{help,images,included,using_samba}


And also added a option to intall manual pages:
of various lang version
  To enable configure with --with-manlangs
  but manual pages themself are not included yet.
(This used to be commit 486b79a6fc4ba20a751aab544bd0f7ccff2b3d19)
2001-09-24 15:55:09 +00:00
Andrew Tridgell
79b5b1aebf fixed a silly off by 1 bug
(This used to be commit e558ab6ac8930e3393291fe12289ad43175b8a1d)
2001-09-24 06:24:14 +00:00
Andrew Tridgell
1c29d9d8f0 fixed bug in POST var handling
(This used to be commit 73f10d3ef6de2dbcb23f93ef93eb9e7053ebf26b)
2001-09-24 06:02:31 +00:00
Andrew Tridgell
1fcc9e1f6d convert all POST variables from display to unix charset
(This used to be commit cd6478ad9890949d0ef34a7078ec5518debe4a3c)
2001-09-24 04:49:14 +00:00
Andrew Bartlett
fa6713bf8b Move pass_check.c over to NTSTATUS, allowing full NTSTATUS from PAM to wire!
Add the ability for swat to run in non-root-mode (ie non-root from inetd).
 - we still need some of the am_root() calls fixed however.
(This used to be commit 2c2317c56ee13abdbdbc866363c3b52dab826e3c)
2001-09-20 13:15:35 +00:00
Andrew Bartlett
6adafe50d4 Remove the ugly hacks to get around the Get_Pwnam() calls in pass_check.c by
simply not doing Get_Pwnam() calls in pass_check.c

We now make *one* sys_getpnam() call in cgi.c and we always call PAM no matter
what it returns.  We also no longer run the password cracker for these logins.

The truly parinod will note the slight difference in call paths, in that we only
call crypt for valid password structs (if not --with-pam).  The truly parinoid
don't run SWAT either, so I don't think this is an issue.

Andrew Bartlett
(This used to be commit 9020d884935243f28c19cedc88f076f0709e12cb)
2001-09-19 05:26:11 +00:00
Simo Sorce
c0ef0e113e move to SAFE_FREE()
(This used to be commit 67db8f03c5c9e81e11b5f3276b50ee23e09a2659)
2001-09-17 11:48:29 +00:00
Andrew Tridgell
b30e75692d replaced stdio in many parts of samba with a XFILE. XFILE is a cut-down
replacemnt of stdio that doesn't suffer from the 8-bit filedescriptor
limit that we hit with nasty consequences on some systems

I would eventually prefer us to have a configure test to see if we need
to replace stdio, but for now this code needs to be tested widely so
I'm enabling it by default.
(This used to be commit 1af8bf34f1caa3e7ec312d8109c07d32a945a448)
2001-09-10 11:08:57 +00:00
Simo Sorce
9644bf74bd it was half committed last time,
thanks to Hasch@t-online.de (Juergen Hasch) for spotting that.
(This used to be commit a2a4d4e6286c2127b6f8e32fc97b96dabd7cdb40)
2001-08-12 09:18:31 +00:00
Simo Sorce
2f844bf447 Change all realloc() statements to Realloc() (ecxept for tdb.c)
changed some code to exploit the fact that Realloc(NULL, size) == malloc(size)
fixed some possible mem leaks, or seg faults.

thanks to andreas moroder (mallocs not checked in client/client.c, client/smbumount.c)
(This used to be commit 7f33c01688b825ab2fa9bbb2730bff4f2fa352be)
2001-08-08 16:54:16 +00:00
Andrew Bartlett
5b8d230e39 This removes unused paramaters from various authtication functions, and should
not change behaviour.

This should make my later diffs smaller, where I actualy start cleaning up this
mess...

Andrew Bartlett
(This used to be commit 04f090c224bb7ac3b53c430a591fce1fc939a81c)
2001-07-08 14:10:30 +00:00
Andrew Tridgell
527e824293 strchr and strrchr are macros when compiling with optimisation in gcc, so we can't redefine them. damn.
(This used to be commit c41fc06376d1a2b83690612304e85010b5e5f3cf)
2001-07-04 07:36:09 +00:00
Andrew Tridgell
ed585b91eb - added ability for swat to run under CGI. This needs
to be setup very carefully for it not to be a security hole
- reran configure
(This used to be commit cf4e439a1e0f3fadbe08c474e5b201827866d7f5)
2001-05-17 11:45:58 +00:00
Jeremy Allison
da3053048c Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMR
RPC code to merge with new passdb code.
Currently rpcclient doesn't compile. I'm working on it...
Jeremy.
(This used to be commit 0be41d5158ea4e645e93e8cd30617c038416e549)
2001-03-11 00:32:10 +00:00
Jeremy Allison
0042bf32cc Fix to the "known/unknown user" difference patch from "Ron Alexander" <rcalex@home.com>.
Jeremy.
(This used to be commit 7a698c1f23ea8740755c544f631789848a360e42)
2000-11-06 23:08:00 +00:00
Jeremy Allison
9e70ba71af Remove CGI logging code. Make username/password lookups take
the same time.
Jeremy.
(This used to be commit 9698f746858f0f2b37ec6494fca990e958d97cb7)
2000-11-01 19:43:53 +00:00