From 0269bfa309f85aaf05f1451196ad2bd8c0b150ac Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 7 Jul 2008 22:03:24 +0200 Subject: SSL control proxy issue workaround Some proxies refuse SSL connections. Make them usable by adding an option which disables the usage of SSL for the login. --- libpiano/src/main.c | 9 ++++++--- libpiano/src/piano.h | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'libpiano') diff --git a/libpiano/src/main.c b/libpiano/src/main.c index 1839c0c..dcfa70f 100644 --- a/libpiano/src/main.c +++ b/libpiano/src/main.c @@ -171,8 +171,11 @@ void PianoDestroy (PianoHandle_t *ph) { * @param piano handle * @param username (utf-8 encoded) * @param password (plaintext, utf-8 encoded) + * @param use ssl when logging in (1 = on, 0 = off), note that the password + * is not hashed and will be sent as plain-text! */ -PianoReturn_t PianoConnect (PianoHandle_t *ph, char *user, char *password) { +PianoReturn_t PianoConnect (PianoHandle_t *ph, char *user, char *password, + char secureLogin) { char url[PIANO_URL_BUFFER_SIZE]; char *requestStr = PianoEncryptString ("" "misc.sync" @@ -200,8 +203,8 @@ PianoReturn_t PianoConnect (PianoHandle_t *ph, char *user, char *password) { "%s" "", time (NULL), user, password); requestStr = PianoEncryptString (requestStrPlain); - snprintf (url, sizeof (url), PIANO_SECURE_RPC_URL "rid=%s" - "&method=authenticateListener", ph->routeId); + snprintf (url, sizeof (url), "%srid=%s&method=authenticateListener", + secureLogin ? PIANO_SECURE_RPC_URL : PIANO_RPC_URL, ph->routeId); if ((ret = PianoHttpPost (ph->curlHandle, url, requestStr, &retStr)) == PIANO_RET_OK) { diff --git a/libpiano/src/piano.h b/libpiano/src/piano.h index ce68c48..9945839 100644 --- a/libpiano/src/piano.h +++ b/libpiano/src/piano.h @@ -151,7 +151,8 @@ void PianoDestroyPlaylist (PianoHandle_t *ph); void PianoDestroySearchResult (PianoSearchResult_t *searchResult); void PianoDestroyStation (PianoStation_t *station); void PianoDestroyStations (PianoHandle_t *ph); -PianoReturn_t PianoConnect (PianoHandle_t *, char *, char *); +PianoReturn_t PianoConnect (PianoHandle_t *ph, char *user, char *password, + char secureLogin); PianoReturn_t PianoGetStations (PianoHandle_t *ph); PianoReturn_t PianoGetPlaylist (PianoHandle_t *ph, char *stationId); -- cgit v1.2.3