summaryrefslogtreecommitdiff
path: root/src/socket.c
AgeCommit message (Collapse)Author
2012-01-16unit: use safe downcasts, remove pointless castsMichal Schmidt
Always use the macros for downcasting. Remove a few obviously pointless casts.
2012-01-16unit: use the UNIT() macro consistentlyMichal Schmidt
The UNIT() macro upcasts from specific unit types to the base Unit. Use it everywhere, rather than accessing the 'meta' member directly.
2012-01-16unit: remove union UnitMichal Schmidt
Now that objects of all unit types are allocated the exact amount of memory they need, the Unit union has lost its purpose. Remove it. "Unit" is a more natural name for the base unit class than "Meta", so rename Meta to Unit. Access to members of the base class gets simplified.
2012-01-16unit: reduce heap usage for unit objectsMichal Schmidt
The storage of the unit objects on the heap is currently not very efficient. For every unit object we allocate a chunk of memory as large as the biggest unit type, although there are significant differences in the units' real requirements. pahole shows the following sizes of structs: 488 Target 496 Snapshot 512 Device 528 Path 560 Timer 576 Automount 1080 Socket 1160 Swap 1168 Service 1280 Mount Usually there aren't many targets or snapshots in the system, but Device is one of the most common unit types and for every one we waste 1280 - 512 = 768 bytes. Fix it by allocating only the right amount for the given unit type. On my machine (x86_64, with 39 LVM volumes) this decreases systemd's USS (unique set size) by more than 300 KB.
2012-01-06unit: properly update references to units which are mergedLennart Poettering
When we merge units that some kind of object points to, those pointers might become invalidated, and needs to be updated. Introduce a UnitRef struct which links up all the unit references, to ensure corrected references. At the same time, drop configured_sockets in the Service object, and replace it by proper UNIT_TRIGGERS resp. UNIT_TRIGGERED_BY dependencies, which allow us to simplify a lot of code.
2012-01-03socket: only add dependency on kmsg socket to socket units which have any ↵Lennart Poettering
kind of exec program specified
2011-12-31socket: rename the PassCred= option to PassCredentials=, since we don't want ↵Lennart Poettering
to needlessly abbreviate options unless they are very well established
2011-11-30socket: add option for SO_PASSCREDMichal Schmidt
Add an option to enable SO_PASSCRED for unix sockets.
2011-09-23llvm-analyze: fix some bugs found by llvm-analyzeLennart Poettering
2011-09-23coverity: fix a couple of bugs found by coverityLennart Poettering
2011-08-20exec: optionally apply cgroup attributes to the cgroups we createLennart Poettering
2011-08-01load-fragment: speed up parsing by using a perfect hash table with ↵Lennart Poettering
configuration settings built by gperf
2011-07-28label: generalize label_get_socket_label_from_exe() a bitLennart Poettering
2011-07-13unit: use ESRCH as error when we don't find anybody to killLennart Poettering
2011-07-12service: properly handle who argument on D-Bus kill callsLennart Poettering
2011-06-21english: s/_per_/_by_/Lennart Poettering
2011-05-20socket: always use SO_{RCV,SND}BUFFORCE to allow larger valuesKay Sievers
2011-05-19socket: expose SO_BROADCASTLennart Poettering
2011-05-19socket: expose IP_TRANSPARENTLennart Poettering
2011-05-18exec: hangup/reset/deallocate VTs in gettysLennart Poettering
Explicitly disconnect all clients from a VT when a getty starts/finishes (requires TIOCVHANGUP, available in 2.6.29). Explicitly deallocate getty VTs in order to flush scrollback buffer. Explicitly reset terminals to a defined state before spawning getty.
2011-05-17socket: use 666 socket mode by default since neither fifos, nor sockets, nor ↵Lennart Poettering
mqueues need to be executable
2011-05-17socket: add POSIX mqueue supportLennart Poettering
2011-04-26socket: improve warning message when we get POLLHUPLennart Poettering
2011-04-20socket: support ListeSpecial= socketsLennart Poettering
2011-04-20socket: log more information about invalid poll eventsLennart Poettering
2011-04-16socket: reuse existing FIFOsLennart Poettering
2011-04-12socket: try creating a socket under our own identity if we have no perms to ↵Lennart Poettering
consult the selinux database
2011-04-10socket: be a bit more verbose when refusing to start a socket unitLennart Poettering
2011-04-10socket: support netlink socketsLennart Poettering
2011-03-31src: our lord is coverityLennart Poettering
2011-03-29exec: drop process group kill mode since it has little use and confuses the userLennart Poettering
2011-03-17def: centralize definition of default timeout in one placeLennart Poettering
2011-03-14socket: use 777 as default mode for socketsLennart Poettering
2011-03-03kill: always send SIGCONT after SIGTERMLennart Poettering
When we kill a process to terminate it make sure to send SIGCONT to ensure it is unpaused and processes the signal.
2011-02-28Spelling CorrectionsHarald Hoyer
Just some lame spelling corrections with no functionality.
2011-02-15exec: introduce global defaults for the standard output of servicesLennart Poettering
2011-02-15socket: refuse socket activation for SysV servicesLennart Poettering
Make sure that when a .socket unit is installed without its matching .service we don't end up activating a legacy SysV/LSB service with the same name. SysV/LSB style services do not support passing sockets and we don't want to extend SysV/LSB to ensure we don't break compatibility with other systems.
2011-01-26automount: use unit_pending_inactive() where appropriateLennart Poettering
2011-01-21socket: don't crash if the .service unit for a .socket unit is not foundLennart Poettering
2011-01-20systemctl: highlight failed processes in systemctl statusLennart Poettering
2011-01-20service: when reloading a service fails don't fail the entire service but ↵Lennart Poettering
just the reload job
2011-01-18execute: make sending of SIGKILL on shutdown optionalLennart Poettering
2010-11-17cgroup: by default, duplicate service cgroup in the cpu hierarchyLennart Poettering
2010-10-29units: order units by default before appropriate targets in case they are ↵Lennart Poettering
pulled indirectly
2010-10-29unit: get rid of gnoreDependencyFailure= instead treat ConflictedBy= as ↵Lennart Poettering
weaker counterpart of Conflicts=, similar to Wants= vs. Requires=
2010-10-22systemctl: introduce systemctl killLennart Poettering
2010-10-08service: optionally, create INIT_PROCESS/DEAD_PROCESS entries for a serviceLennart Poettering
This should fix accounting for pam_limits and suchlike. https://bugzilla.redhat.com/show_bug.cgi?id=636036
2010-10-05socket: make sockets to pass to a service configurableLennart Poettering
2010-10-05socket: make service to start on incoming traffic configurableLennart Poettering
2010-09-21socket: Support IPv6-less systems with runtime check.Fabiano Fidencio
This patch introduces socket_ipv6_is_supported() call that checks for IPv6 availability. Code then check for it before using specific calls. In order to be less intrusive, this patch avoids IPv6 entries being parsed at all, this way we don't get such entries in the system and all other code paths are automatically ignored. However an extra check is done at socket_address_listen() to make sure of that. As the number of Netlink messages is not know upfront anymore, loopback-setup.c was refactored to dynamically calculate the sequence number and count. Lennart's suggestions were fixed and squashed with the original patch, that was sent by Gustavo Sverzut Barbieri (barbieri@profusion.mobi).