summaryrefslogtreecommitdiff
path: root/source3/smbd/server.c
AgeCommit message (Collapse)AuthorFilesLines
2011-03-29s3-spoolssd: Pass down event and messanging context.Andreas Schneider1-2/+4
Signed-off-by: Günther Deschner <gd@samba.org>
2011-03-29s3:spoolssd Start spoolss from smbdSimo Sorce1-0/+15
Signed-off-by: Günther Deschner <gd@samba.org>
2011-03-23s3-config: say which config file we failed to openAndrew Tridgell1-1/+1
saves having to strace it to work that out
2011-03-23fault: get fault.c ready for use by s4Andrew Tridgell1-1/+1
this moves the s3 specific dumpcore code into source3/lib/dumpcore.c, and uses a function pointer to setup which smb_panic call to use
2011-03-22s3-fault: removed the cont_fn from fault_setup()Andrew Tridgell1-1/+1
cont_fn() was supposed to be a way to continue after a seg fault. It could never be called however, as smb_panic() from fault_report() could never return, as dump_core() never returns at the end of smb_panic() Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Tue Mar 22 05:07:58 CET 2011 on sn-devel-104
2011-03-08s3-rpc_server: Start the Endpoint Mapper Dameon if enabled.Andreas Schneider1-0/+15
Endpoint Mapper is still disabled by default! Signed-off-by: Günther Deschner <gd@samba.org>
2011-03-02s3-server_id: only include server_id where needed.Günther Deschner1-0/+1
Guenther
2011-02-28s3-smbd: Pass tevent context to messaging functions.Andreas Schneider1-4/+11
Autobuild-User: Andreas Schneider <asn@cryptomilk.org> Autobuild-Date: Mon Feb 28 19:00:08 CET 2011 on sn-devel-104
2011-02-28s3: smbcontrol to notify smbd about idmap changesGregor Beck1-0/+2
Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Mon Feb 28 14:07:23 CET 2011 on sn-devel-104
2011-02-22s3-printing: only include printing where really needed.Günther Deschner1-0/+1
Guenther
2011-02-22s3-printing: fix pcacp prototypes and includes.Günther Deschner1-0/+1
Guenther
2011-02-21s3-rpc_server: Rename srv_rpc_register.c.Andreas Schneider1-1/+1
2011-02-21s3-rpc_server: Rename srv_rpc_register.Andreas Schneider1-1/+1
2011-02-21s3-rpc_server: Pass tevent_context to dcerpc endpoints.Andreas Schneider1-1/+1
2011-02-20s3: Convert init_system_info to NTSTATUSVolker Lendecke1-2/+4
2011-02-17s3: increase the log level for missing PIDs on SIGCHLDDavid Disseldorp1-1/+2
Since the fix for bso#7836, the parent smbd is responsible for maintaining an up-to-date printcap cache. It does this by forking a child process to asynchronously fetch printcap data from CUPS. When the child process exits after fetching all printcap data, the parent smbd is sent SIGCHLD. This triggers smbd_sig_chld_handler() which looks for the exited process PID on a "children" list. Child smbd process PIDs are added to the "children" list to ensure cleanup on unclean shutdown and log level change notification messages. Printcap update process PIDs are not added to the list as they do not maintain any state that requires cleanup, nor do they wait on tevent for messages. Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Thu Feb 17 11:11:45 CET 2011 on sn-devel-104
2011-02-02s3-smbd: Added a function to setup rpc services.Andreas Schneider1-90/+2
Move the complete setup of the rpc service to its own file and use callbacks to register at the endpoint mapper.
2011-02-02s3-epmapper: Added a endpoint mapper skeleton.Andreas Schneider1-0/+1
2011-01-07s3-printing: Initiate pcap reload from parent smbdDavid Disseldorp1-0/+47
Since commit 7022554, smbds share a printcap cache (printer_list.tdb), therefore ordering of events between smbd processes is important when updating printcap cache information. Consider the following two process example: 1) smbd1 receives HUP or printcap cache time expiry 2) smbd1 checks whether pcap needs refresh, it does 3) smbd1 marks pcap as refreshed 4) smbd1 forks child1 to obtain cups printer info 5) smbd2 receives HUP or printcap cache time expiry 6) smbd2 checks whether pcap needs refresh, it does not (due to step 3) 7) smbd2 reloads printer shares prior to child1 completion (stale pcap) 8) child1 completion, pcap cache (printer_list.tdb) is updated by smbd1 9) smbd1 reloads printer shares based on new pcap information In this case both smbd1 and smbd2 are reliant on the pcap update performed on child1 completion. The prior commit "reload shares after pcap cache fill" ensures that smbd1 only reloads printer shares following pcap update, however smbd2 continues to present shares based on stale pcap data. This commit addresses the above problem by driving pcap cache and printer share updates from the parent smbd process. 1) smbd0 (parent) receives a HUP or printcap cache time expiry 2) smbd0 forks child0 to obtain cups printer info 3) child0 completion, pcap cache (printer_list.tdb) is updated by smbd0 4) smbd0 reloads printer shares 5) smbd0 notifies child smbds of pcap update via message_send_all() 6) child smbds read fresh pcap data and reload printer shares This architecture has the additional advantage that only a single process (the parent smbd) requests printer information from the printcap backend. Use time_mono in housekeeping functions As suggested by Björn Jacke.
2011-01-07s3-printing: reload shares after pcap cache fillDavid Disseldorp1-1/+2
Since commit eada8f8a, updates to the cups pcap cache are performed asynchronously - cups_cache_reload() forks a child process to request cups printer information and notify the parent smbd on completion. Currently printer shares are reloaded immediately following the call to cups_cache_reload(), this occurs prior to smbd receiving new cups pcap information from the child process. Such behaviour can result in stale print shares as outlined in bug 7836. This fix ensures print shares are only reloaded after new pcap data has been received. Pair-Programmed-With: Lars Müller <lars@samba.org>
2011-01-04s3-rpcecho: Only register rpcecho in the developer build.Andreas Schneider1-0/+2
Autobuild-User: Andreas Schneider <asn@samba.org> Autobuild-Date: Tue Jan 4 18:56:38 CET 2011 on sn-devel-104
2011-01-04s3-smbd: Call all the rpc services in the right order.Andreas Schneider1-5/+41
2010-12-02s3:smbd: remove some commented out legacy codeMichael Adam1-5/+0
Autobuild-User: Michael Adam <obnox@samba.org> Autobuild-Date: Thu Dec 2 01:18:19 CET 2010 on sn-devel-104
2010-11-05s3: Allow disabling of mdns registrationsVolker Lendecke1-1/+1
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Fri Nov 5 11:24:41 UTC 2010 on sn-devel-104
2010-11-02s3-debug Move 'load_case_tables()' before lp_set_cmdline() and popt callsAndrew Bartlett1-2/+2
The problem here is that we cannot run lp_set_cmdline() (directly or indirectly via the popt helpers) until load_case_tables() has been run. However, load_case_tables does not have auto-initialisation, so we must init it once, and once only. Andrew Bartlett
2010-11-02s3-debug Impove setup_logging() to specify logging to stderrAndrew Bartlett1-1/+5
This change improves the setup_logging() API so that callers which wish to set up logging to stderr can simply ask for it, rather than directly modify the dbf global variable. Andrew Bartlett
2010-10-08s3: Call printer_list_parent_init in the parentVolker Lendecke1-0/+5
Simo, please check!
2010-10-08Move talloc_enable_null_tracking() to the s3 daemonsVolker Lendecke1-1/+7
2010-09-28s3: Lift smbd_messaging_context() from open_sockets_smbd()Volker Lendecke1-16/+14
2010-09-28s3: Remove talloc_autofree_context() from files.cVolker Lendecke1-2/+5
2010-09-26s3: Remove talloc_autofree_context() from notify_internal_parent_init()Volker Lendecke1-1/+1
2010-09-26s3: Remove talloc_autofree_context() from serverid_parent_init()Volker Lendecke1-1/+1
2010-09-26s3: Remove talloc_autofree_context() from messaging_tdb_parent_init()Volker Lendecke1-1/+1
2010-09-21s3:registry: move prototype from reg_init_full.c to its own header.Michael Adam1-0/+1
2010-09-20s3-build: only include ctdbd_conn.h where needed.Günther Deschner1-0/+1
Guenther
2010-09-10s3-spoolss: Don't leak memory on the session counter list.Andreas Schneider1-1/+8
Thanks Günther, please check.
2010-08-31s3: messaging_ctdbd_connection() was only called with procid_self()Volker Lendecke1-2/+1
Eventually we'll get this right...
2010-08-29s3: Remove smbd_server_fd()Volker Lendecke1-7/+0
This breaks the perfcol_onefs() build. Tim, Steve, this use of smbd_server_fd is replacable by calls into substitute.c. I don't have a onefs environment around to build a fix, so I've decided to insert an #error, making it not compile. The fix should be pretty obvious, you can get the socket data via "%I" and "%i" substitutions.
2010-08-29s3: Remove two uses of smbd_server_fd()Volker Lendecke1-1/+1
Actually, this is a bit cheating. But those two files depend on smbd_server_conn anyway, it does not make things worse.
2010-08-29s3: Remove a use of smbd_server_fd() in smbd main()Volker Lendecke1-2/+1
The effect this might have is that we set the socket options a bit later in inetd mode.
2010-08-29s3: Set the client_id in substitute.c onceVolker Lendecke1-0/+5
This never changes during a client connection's life, so we can set it once.
2010-08-28s3: Remove some references to smbd_server_fd()Volker Lendecke1-5/+7
2010-08-26s3-build: only include memcache.h where needed.Günther Deschner1-0/+1
Guenther
2010-08-18s3: Add smbd_server_connection->client_idVolker Lendecke1-1/+21
2010-08-18s3: Lift smbd_server_fd from reload_services()Volker Lendecke1-2/+3
2010-08-16s3: Add "sock" to smbd_server_connectionVolker Lendecke1-0/+1
2010-08-16s3: Remove get_client_fd()Volker Lendecke1-5/+0
2010-08-13s3-smbd: Publish nt printers.Andreas Schneider1-4/+14
Reloading of the printers requires rpc services up and running! The first call in reload_services will be skipped. Signed-off-by: Simo Sorce <idra@samba.org>
2010-08-13s3-smbd: Move rpc services init to smbd parent.Andreas Schneider1-0/+45
The move to the parent makes it possible to use an internal rpc pipe really early and as we migrated serveral parts of samba to rpc function this is required. This should speed up the fork of a smbd a bit cause the rpc services are already running. We still have several problems here which aren't solved. We don't have a dependency tree here. For example we have to make sure that the registry is initialized before we can use the winreg pipe. The spoolss server requires winreg, so we have to start winreg before we can start the spoolss server. I'm sure there are more dependencies. Signed-off-by: Simo Sorce <idra@samba.org>
2010-08-13s3-smbd: Regroup some init functions.Andreas Schneider1-12/+12
Signed-off-by: Simo Sorce <idra@samba.org>