diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libpiano/piano.c | 4 | ||||
-rw-r--r-- | src/libpiano/piano.h | 3 | ||||
-rw-r--r-- | src/ui.c | 1 |
3 files changed, 8 insertions, 0 deletions
diff --git a/src/libpiano/piano.c b/src/libpiano/piano.c index 56f2bf7..d4d8156 100644 --- a/src/libpiano/piano.c +++ b/src/libpiano/piano.c @@ -236,6 +236,8 @@ PianoReturn_t PianoRequest (PianoHandle_t *ph, PianoRequest_t *req, assert (req != NULL); req->type = type; + /* no tls by default */ + req->secure = false; switch (req->type) { case PIANO_REQUEST_LOGIN: { @@ -257,6 +259,8 @@ PianoReturn_t PianoRequest (PianoHandle_t *ph, PianoRequest_t *req, case 1: { char *xmlencodedPassword = NULL; + req->secure = true; + /* username == email address does not contain &,<,>," */ if ((xmlencodedPassword = PianoXmlEncodeString (logindata->password)) == diff --git a/src/libpiano/piano.h b/src/libpiano/piano.h index 7267901..d953dec 100644 --- a/src/libpiano/piano.h +++ b/src/libpiano/piano.h @@ -24,6 +24,8 @@ THE SOFTWARE. #ifndef _PIANO_H #define _PIANO_H +#include <stdbool.h> + /* this is our public API; don't expect this api to be stable as long as * pandora does not provide a stable api * all strings _must_ be utf-8 encoded. i won't care, but pandora does. so @@ -152,6 +154,7 @@ typedef enum { typedef struct PianoRequest { PianoRequestType_t type; + bool secure; void *data; char urlPath[1024]; char *postData; @@ -141,6 +141,7 @@ static WaitressReturn_t BarPianoHttpRequest (WaitressHandle_t *waith, waith->postData = req->postData; waith->method = WAITRESS_METHOD_POST; waith->url.path = req->urlPath; + waith->url.tls = req->secure; return WaitressFetchBuf (waith, &req->responseData); } |