Indefinite Sturm-Liouville problems