• Dan McGee's avatar
    Set socket TCP keepalive option on incoming connections · 27946a98
    Dan McGee authored
    If a connected host disappears without our knowledge, as can happen over
    wireless or a hibernating machine, we continue to hold the port open waiting
    for messages. Because we never try to send anything down this now-broken
    pipe, the connection will sit idle taking up a slot in our allowed incoming
    connections list.
    
    If enough of these happen, an unintended Denial of Service takes place,
    where all connection slots are filled with now-broken, never ending
    connections. Setting the TCP keepalive option at least allows these to time
    out after the default two hours, which is sufficient in the non-malicious
    case.
    Signed-off-by: 's avatarDan McGee <dan@archlinux.org>
    27946a98
Name
Last commit
Last update
..
AudioCompress Loading commit data...
archive Loading commit data...
cue Loading commit data...
db Loading commit data...
decoder Loading commit data...
encoder Loading commit data...
filter Loading commit data...
input Loading commit data...
mixer Loading commit data...
output Loading commit data...
playlist Loading commit data...
ack.h Loading commit data...
aiff.c Loading commit data...
aiff.h Loading commit data...
ape.c Loading commit data...
ape.h Loading commit data...
archive_api.c Loading commit data...
archive_api.h Loading commit data...
archive_internal.h Loading commit data...
archive_list.c Loading commit data...
archive_list.h Loading commit data...
archive_plugin.c Loading commit data...
archive_plugin.h Loading commit data...
audio.c Loading commit data...
audio.h Loading commit data...
audio_check.c Loading commit data...
audio_check.h Loading commit data...
audio_format.c Loading commit data...
audio_format.h Loading commit data...
audio_parser.c Loading commit data...
audio_parser.h Loading commit data...
buffer.c Loading commit data...
buffer.h Loading commit data...
check.h Loading commit data...
chunk.c Loading commit data...
chunk.h Loading commit data...
client.c Loading commit data...
client.h Loading commit data...
client_event.c Loading commit data...
client_expire.c Loading commit data...
client_global.c Loading commit data...
client_idle.c Loading commit data...
client_idle.h Loading commit data...
client_internal.h Loading commit data...
client_list.c Loading commit data...
client_message.c Loading commit data...
client_message.h Loading commit data...
client_new.c Loading commit data...
client_process.c Loading commit data...
client_read.c Loading commit data...
client_subscribe.c Loading commit data...
client_subscribe.h Loading commit data...
client_write.c Loading commit data...
cmdline.c Loading commit data...
cmdline.h Loading commit data...
command.c Loading commit data...
command.h Loading commit data...
conf.c Loading commit data...
conf.h Loading commit data...
crossfade.c Loading commit data...
crossfade.h Loading commit data...
daemon.c Loading commit data...
daemon.h Loading commit data...
database.c Loading commit data...
database.h Loading commit data...
dbUtils.c Loading commit data...
dbUtils.h Loading commit data...
db_error.h Loading commit data...
db_internal.h Loading commit data...
db_plugin.h Loading commit data...
db_print.c Loading commit data...
db_print.h Loading commit data...
db_save.c Loading commit data...
db_save.h Loading commit data...
db_selection.h Loading commit data...
db_visitor.h Loading commit data...
decoder_api.c Loading commit data...
decoder_api.h Loading commit data...
decoder_buffer.c Loading commit data...
decoder_buffer.h Loading commit data...
decoder_command.h Loading commit data...
decoder_control.c Loading commit data...
decoder_control.h Loading commit data...
decoder_internal.c Loading commit data...
decoder_internal.h Loading commit data...
decoder_list.c Loading commit data...
decoder_list.h Loading commit data...
decoder_plugin.c Loading commit data...
decoder_plugin.h Loading commit data...
decoder_print.c Loading commit data...
decoder_print.h Loading commit data...
decoder_thread.c Loading commit data...
decoder_thread.h Loading commit data...
despotify_utils.c Loading commit data...
despotify_utils.h Loading commit data...
directory.c Loading commit data...
directory.h Loading commit data...
directory_save.c Loading commit data...
directory_save.h Loading commit data...
dirvec.c Loading commit data...
dirvec.h Loading commit data...
encoder_api.h Loading commit data...
encoder_list.c Loading commit data...
encoder_list.h Loading commit data...
encoder_plugin.h Loading commit data...
event_pipe.c Loading commit data...
event_pipe.h Loading commit data...
exclude.c Loading commit data...
exclude.h Loading commit data...
fd_util.c Loading commit data...
fd_util.h Loading commit data...
fifo_buffer.c Loading commit data...
fifo_buffer.h Loading commit data...
filter_config.c Loading commit data...
filter_config.h Loading commit data...
filter_internal.h Loading commit data...
filter_plugin.c Loading commit data...
filter_plugin.h Loading commit data...
filter_registry.c Loading commit data...
filter_registry.h Loading commit data...
gcc.h Loading commit data...
glib_compat.h Loading commit data...
icy_metadata.c Loading commit data...
icy_metadata.h Loading commit data...
icy_server.c Loading commit data...
icy_server.h Loading commit data...
idle.c Loading commit data...
idle.h Loading commit data...
inotify_queue.c Loading commit data...
inotify_queue.h Loading commit data...
inotify_source.c Loading commit data...
inotify_source.h Loading commit data...
inotify_update.c Loading commit data...
inotify_update.h Loading commit data...
input_init.c Loading commit data...
input_init.h Loading commit data...
input_internal.c Loading commit data...
input_internal.h Loading commit data...
input_plugin.h Loading commit data...
input_registry.c Loading commit data...
input_registry.h Loading commit data...
input_stream.c Loading commit data...
input_stream.h Loading commit data...
io_thread.c Loading commit data...
io_thread.h Loading commit data...
listen.c Loading commit data...
listen.h Loading commit data...
locate.c Loading commit data...
locate.h Loading commit data...
log.c Loading commit data...
log.h Loading commit data...
ls.c Loading commit data...
ls.h Loading commit data...
main.c Loading commit data...
main.h Loading commit data...
main_win32.c Loading commit data...
mapper.c Loading commit data...
mapper.h Loading commit data...
mixer_all.c Loading commit data...
mixer_all.h Loading commit data...
mixer_api.c Loading commit data...
mixer_api.h Loading commit data...
mixer_control.c Loading commit data...
mixer_control.h Loading commit data...
mixer_list.h Loading commit data...
mixer_plugin.h Loading commit data...
mixer_type.c Loading commit data...
mixer_type.h Loading commit data...
mpd_error.h Loading commit data...
notify.c Loading commit data...
notify.h Loading commit data...
ntp_server.c Loading commit data...
ntp_server.h Loading commit data...
open.h Loading commit data...
output_all.c Loading commit data...
output_all.h Loading commit data...
output_api.h Loading commit data...
output_command.c Loading commit data...
output_command.h Loading commit data...
output_control.c Loading commit data...
output_control.h Loading commit data...
output_finish.c Loading commit data...
output_init.c Loading commit data...
output_internal.h Loading commit data...
output_list.c Loading commit data...
output_list.h Loading commit data...
output_plugin.c Loading commit data...
output_plugin.h Loading commit data...
output_print.c Loading commit data...
output_print.h Loading commit data...
output_state.c Loading commit data...
output_state.h Loading commit data...
output_thread.c Loading commit data...
output_thread.h Loading commit data...
page.c Loading commit data...
page.h Loading commit data...
path.c Loading commit data...
path.h Loading commit data...
pcm_buffer.h Loading commit data...
pcm_byteswap.c Loading commit data...
pcm_byteswap.h Loading commit data...
pcm_channels.c Loading commit data...
pcm_channels.h Loading commit data...
pcm_convert.c Loading commit data...
pcm_convert.h Loading commit data...
pcm_dither.c Loading commit data...
pcm_dither.h Loading commit data...
pcm_format.c Loading commit data...
pcm_format.h Loading commit data...
pcm_mix.c Loading commit data...
pcm_mix.h Loading commit data...
pcm_pack.c Loading commit data...
pcm_pack.h Loading commit data...
pcm_prng.h Loading commit data...
pcm_resample.c Loading commit data...
pcm_resample.h Loading commit data...
pcm_resample_fallback.c Loading commit data...
pcm_resample_internal.h Loading commit data...
pcm_resample_libsamplerate.c Loading commit data...
pcm_utils.h Loading commit data...
pcm_volume.c Loading commit data...
pcm_volume.h Loading commit data...
permission.c Loading commit data...
permission.h Loading commit data...
pipe.c Loading commit data...
pipe.h Loading commit data...
player_control.c Loading commit data...
player_control.h Loading commit data...
player_thread.c Loading commit data...
player_thread.h Loading commit data...
playlist.c Loading commit data...
playlist.h Loading commit data...
playlist_any.c Loading commit data...
playlist_any.h Loading commit data...
playlist_control.c Loading commit data...
playlist_database.c Loading commit data...
playlist_database.h Loading commit data...
playlist_edit.c Loading commit data...
playlist_error.h Loading commit data...
playlist_global.c Loading commit data...
playlist_internal.h Loading commit data...
playlist_list.c Loading commit data...
playlist_list.h Loading commit data...
playlist_mapper.c Loading commit data...
playlist_mapper.h Loading commit data...
playlist_plugin.h Loading commit data...
playlist_print.c Loading commit data...
playlist_print.h Loading commit data...
playlist_queue.c Loading commit data...
playlist_queue.h Loading commit data...
playlist_save.c Loading commit data...
playlist_save.h Loading commit data...
playlist_song.c Loading commit data...
playlist_song.h Loading commit data...
playlist_state.c Loading commit data...
playlist_state.h Loading commit data...
playlist_vector.c Loading commit data...
playlist_vector.h Loading commit data...
poison.h Loading commit data...
queue.c Loading commit data...
queue.h Loading commit data...
queue_print.c Loading commit data...
queue_print.h Loading commit data...
queue_save.c Loading commit data...
queue_save.h Loading commit data...
refcount.h Loading commit data...
replay_gain_ape.c Loading commit data...
replay_gain_ape.h Loading commit data...
replay_gain_config.c Loading commit data...
replay_gain_config.h Loading commit data...
replay_gain_info.c Loading commit data...
replay_gain_info.h Loading commit data...
riff.c Loading commit data...
riff.h Loading commit data...
rtsp_client.c Loading commit data...
rtsp_client.h Loading commit data...
server_socket.c Loading commit data...
server_socket.h Loading commit data...
sig_handlers.c Loading commit data...
sig_handlers.h Loading commit data...
socket_util.c Loading commit data...
socket_util.h Loading commit data...
song.c Loading commit data...
song.h Loading commit data...
song_print.c Loading commit data...
song_print.h Loading commit data...
song_save.c Loading commit data...
song_save.h Loading commit data...
song_sticker.c Loading commit data...
song_sticker.h Loading commit data...
song_update.c Loading commit data...
songvec.c Loading commit data...
songvec.h Loading commit data...
state_file.c Loading commit data...
state_file.h Loading commit data...
stats.c Loading commit data...
stats.h Loading commit data...
sticker.c Loading commit data...
sticker.h Loading commit data...
sticker_print.c Loading commit data...
sticker_print.h Loading commit data...
stored_playlist.c Loading commit data...
stored_playlist.h Loading commit data...
string_util.c Loading commit data...
string_util.h Loading commit data...
strset.c Loading commit data...
strset.h Loading commit data...
tag.c Loading commit data...
tag.h Loading commit data...
tag_ape.c Loading commit data...
tag_ape.h Loading commit data...
tag_id3.c Loading commit data...
tag_id3.h Loading commit data...
tag_internal.h Loading commit data...
tag_pool.c Loading commit data...
tag_pool.h Loading commit data...
tag_print.c Loading commit data...
tag_print.h Loading commit data...
tag_rva2.c Loading commit data...
tag_rva2.h Loading commit data...
tag_save.c Loading commit data...
tag_save.h Loading commit data...
tag_table.h Loading commit data...
tcp_socket.c Loading commit data...
tcp_socket.h Loading commit data...
text_file.c Loading commit data...
text_file.h Loading commit data...
text_input_stream.c Loading commit data...
text_input_stream.h Loading commit data...
timer.c Loading commit data...
timer.h Loading commit data...
tokenizer.c Loading commit data...
tokenizer.h Loading commit data...
udp_server.c Loading commit data...
udp_server.h Loading commit data...
update.c Loading commit data...
update.h Loading commit data...
update_internal.h Loading commit data...
update_queue.c Loading commit data...
update_remove.c Loading commit data...
update_walk.c Loading commit data...
uri.c Loading commit data...
uri.h Loading commit data...
utils.c Loading commit data...
utils.h Loading commit data...
volume.c Loading commit data...
volume.h Loading commit data...
zeroconf-avahi.c Loading commit data...
zeroconf-bonjour.c Loading commit data...
zeroconf-internal.h Loading commit data...
zeroconf.c Loading commit data...
zeroconf.h Loading commit data...