1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00

145 Commits

Author SHA1 Message Date
Martin Pool
75722fa183 Add assertions that kill() is never accidentally passed a non-positive
pid.  This follows a bug in rsync where it would accidentally
kill(-1), removing all the user's processes.  I can't see any way this
would directly happen in Samba, but having the assertions seems
beneficial.

http://cvs.samba.org/cgi-bin/cvsweb/rsync/util.c.diff?r1=1.108&r2=1.109&f=h
(This used to be commit 098905bea29c7d5b886809d431294ddf2fc1e152)
2002-03-20 06:57:03 +00:00
Tim Potter
cd68afe312 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
(This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
2002-01-30 06:08:46 +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
f741f65673 Store some path names in global variables initialized to configure
default, rather than in preprocessor macros.
(This used to be commit 79ec88f0da40faebe1e587f1b3e87b5f2b184f58)
2001-11-19 02:49:53 +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
Andrew Tridgell
8cec5cf35f first step in converting the head branch to use lang_tdb.c instead
of gettext for internationalisation support. There is more to do
(This used to be commit ab7f67677a1ade4669e5c2750d0a38422ea616a9)
2001-10-11 08:40:42 +00:00
Gerald Carter
8ad2982968 merge from 2.2
(This used to be commit 831530d93d606d13a792be1d3d4ac561697504d8)
2001-10-06 18:03:25 +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
b12a4dd9b6 declare dbf in one spot
(This used to be commit f41c3bb80f1e498a9d27f6e236b0ff3a742764c9)
2001-09-10 12:14:18 +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
Andrew Tridgell
65c5a1c0ba convert more code to using d_printf
(This used to be commit 60d297303488ed583537ca2853828fccd6da2ade)
2001-09-08 02:59:23 +00:00
Andrew Tridgell
9a9ac2739b got rid of USE_TDB_MMAP_FLAG as its not needed any more
(This used to be commit c26e0d3f27a05ecc8bd2390f9aab7f9451524e47)
2001-09-06 22:08:19 +00:00
Andrew Bartlett
2051bb7d03 A few changes:
drop paramaters:
 status
 utmp hostname

change session code to always record each vuid current on the server.  The sessionid struct is no longer packed, as I couldn't get that to work ;-)

change smbstatus to show this info and less of the connections.tdb info (its not actualy that accurate).

I'll get swat doing some of this shortly.
(This used to be commit b068ad300527c44673bbee0aede7849199c89de7)
2001-08-22 19:11:55 +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
Jeremy Allison
996719cce2 Added "use mmap" for HPUX.
Jeremy.
(This used to be commit 840802f10677cb0009cb4df4c37c7d01aa5edacd)
2001-07-30 22:21:31 +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
87fbb7092b The big character set handling changeover!
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)
2001-07-04 07:15:53 +00:00
Simo Sorce
2b8e2f16c3 uhm some pointer went wrong
(This used to be commit d0acacfc9df86abab24420f1807b4d5253e8c285)
2001-06-23 15:27:04 +00:00
Simo Sorce
5be670074e handle P_LIST parameters
(This used to be commit 26ab608c91c7357df3a79bc34111194f115de005)
2001-06-23 15:01:34 +00:00
Andrew Tridgell
05fc3e578c use LDSHFLAGS not -shared in several places
(This used to be commit 8ec9c87b5d1a7dae17d5b1a30f58effaf5e69e4b)
2001-06-04 05:13:59 +00:00
Andrew Tridgell
8bfcdd723d make swat recover from previously bad umask from xinetd
(This used to be commit 045d7e1b167efc75bb3d411b3fcc35bba58c4ef7)
2001-05-30 06:12:21 +00:00
Tim Potter
aded7fc858 Add border=0 in included swat images to get rid of the link border stuff.
Much prettier looking.
(This used to be commit 16031364a8ce20cf425c758d3fd5035a776e9d9b)
2001-05-30 03:02:47 +00:00
Andrew Tridgell
5e6bbdb74e make sure the umask is set in swat
(This used to be commit 07c74fe83f77c73ff937a31b7df2f211596e9861)
2001-05-28 23:56:56 +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
10211f53f9 Check sizes of data entries in connections.tdb before deciding they're crecs...
We will need this when we use finer grained locking for max connections.
Jeremy.
(This used to be commit c6cd42a6791e26174eb795fd08ddbbd797e5a9cf)
2001-05-15 18:12:02 +00:00
Andrew Tridgell
6056766247 merge some fixes from 2.2
(This used to be commit 7e57adf2a039cb5b6458496f9190c9c642645600)
2001-05-07 03:55:54 +00:00
Gerald Carter
71ef4e0183 fix broken links in SWAT due to upper case anchors in the generated
HTML man pages.  Spotted by Herb.
(This used to be commit be45c82c3ab3b626cd761f2cec3b160df2b7fcac)
2001-04-12 05:24:57 +00:00
Jeremy Allison
72aa0d8073 Setup syslog correctly in swat. Patch from Andrew Bartlett.
Jeremy.
(This used to be commit ffd9bf192273370c1ebf6f1a2d5ebe8d8c434133)
2001-04-05 21:31:12 +00:00
Jeremy Allison
1452c2d8c4 Fix from Ryo Kawahara <rkawa@lbe.co.jp> to make SWAT correctly write and smb.conf
file in utf8.
Jeremy.
(This used to be commit 42052d6079479452aa43eb37ad3d679d28337779)
2001-03-26 23:13:02 +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
David O'Neill
792ca5d989 Changes from APPLIANCE_HEAD:
source/rpc_server/srv_spoolss_nt.c
        - Unrolled construct_notify_jobs_info() loop to only fetch
          printer info_2 structure once rather than num_print_jobs times.
        - convert command to unix codepage.
        - remove lp_remove_service() call as it prevents lp_killservice()
          from working.
        - Modified some DEBUG and DEBUGADD statements.

    source/param/loadparm.c
    source/param/params.c
        - change printer, preload, auto services to FLAG_DOS_STRING,
          reverted earlier changes to szPrintername et al, add comments.

    source/printing/load.c
        - fix bug with lp_auto_services() and strtok()

    source/printing/nt_printing.c
    source/printing/printing.c
        - remove redundant test that used SERVICE(snum)

    source/printing/pcap.c
        - add unix_to_dos() calls, add notes wrt FIXMEs for
          xxx_printer_fn() functions.

    source/web/swat.c
        - added FIXME comment.

    source/smbd/service.c
        - added comment re: dos codepage
(This used to be commit 7b774b72c2857af9519012106714a9e2cb099da3)
2001-01-17 18:47:46 +00:00
Gerald Carter
9fede0dc0d Large commit which restructures the local password storage API.
Currently the only backend which works is smbpasswd (tdb, LDAP, and NIS+)
are broken, but they were somewhat broken before. :)

The following functions implement the storage manipulation interface

/*The following definitions come from  passdb/pdb_smbpasswd.c  */

BOOL pdb_setsampwent (BOOL update);
void pdb_endsampwent (void);
SAM_ACCOUNT* pdb_getsampwent (void);
SAM_ACCOUNT* pdb_getsampwnam (char *username);
SAM_ACCOUNT* pdb_getsampwuid (uid_t uid);
SAM_ACCOUNT* pdb_getsampwrid (uint32 rid);
BOOL pdb_add_sam_account (SAM_ACCOUNT *sampass);
BOOL pdb_update_sam_account (SAM_ACCOUNT *sampass, BOOL override);
BOOL pdb_delete_sam_account (char* username);

There is also a host of pdb_set..() and pdb_get..() functions for
manipulating SAM_ACCOUNT struct members.  Note that the struct
passdb_ops {} has gone away.  Also notice that struct smb_passwd
(formally in smb.h) has been moved to passdb/pdb_smbpasswd.c
and is not accessed outisde of static internal functions in this
file.  All local password searches should make use of the the SAM_ACCOUNT
struct and the previously mentioned functions.

I'll write some documentation for this later.  The next step is to fix
the TDB passdb backend, then work on spliting the backends out into
share libraries, and finally get the LDAP backend going.

What works and may not:

	o domain logons from Win9x 	works
	o domain logons from WinNT 4	works
	o user and group enumeration
		as implemented by Tim	works
	o file and print access		works
	o changing password from
		Win9x & NT		ummm...i'll fix this tonight :)

If I broke anything else, just yell and I'll fix it.  I think it
should be fairly quite.





-- jerry
(This used to be commit 0b92d0838ebdbe24f34f17e313ecbf61a0301389)
2000-11-13 23:03:34 +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
Andrew Tridgell
4aae2b3702 don't show equivalent enum options in swat
(This used to be commit 52074960971995580a03647ac5c638043eb8f5e1)
2000-09-13 07:08:09 +00:00
Tim Potter
e5e43b553e Fix for swat to return correct MIME type for text files. From "Ron
Alexander" <rcalex@home.com>
(This used to be commit 061e5e50523913a26bc86bd816c4e26a37a832c7)
2000-09-01 02:06:20 +00:00
Andrew Tridgell
2fa922611b finally got sick of the "extern int Client" code and the stupid
assumption that we have one socket everywhere

while doing so I discovered a few bugs!

1) the clientgen session retarget code if used from smbd or nmbd would
cause a crash as it called close_sockets() which closed our main
socket! fixed by removing close_sockets() completely - it is unnecessary

2) the caching in client_addr() and client_name() was bogus - it could
easily get fooled and give the wrong result. fixed.

3) the retarget could could recurse, allowing an easy denial of
service attack on nmbd. fixed.
(This used to be commit 5937ab14d222696e40a3fc6f0e6a536f2d7305d3)
2000-04-11 13:55:53 +00:00
Andrew Tridgell
cdf223083f two minor bugfixes for SCO UnixWare. The first is to catch SIGPIPE so that putmsg() inside their send() doesn't kill swat and the scond is to open /dev/null to replace stdin after we close that
(This used to be commit d35bbe56bc9e3e5896b2ebdf33ff6468a0432e1f)
2000-04-11 07:14:12 +00:00
Jeremy Allison
0f1eee5c7a client/client.c:
libsmb/clientgen.c: Fixes for Win2k smbclient browsing.
Other fixes implement smbpasswd -x user to delete users. Also allows swat
to do the same.
Jeremy.
(This used to be commit 9f6ad046761adecafba59040baa3abc9f0959e65)
2000-02-25 22:25:25 +00:00