50 #include <openssl/evp.h> |
50 #include <openssl/evp.h> |
51 #include <openssl/bio.h> |
51 #include <openssl/bio.h> |
52 #include <openssl/buffer.h> |
52 #include <openssl/buffer.h> |
53 #include <openssl/rand.h> |
53 #include <openssl/rand.h> |
54 |
54 |
|
55 #include "webdav.h" |
55 #include "utils.h" |
56 #include "utils.h" |
56 #include "crypto.h" |
57 #include "crypto.h" |
57 #include "webdav.h" |
58 #include "session.h" |
58 |
59 |
59 static size_t extractval(sstr_t str, char *result, char delim) { |
60 static size_t extractval(sstr_t str, char *result, char delim) { |
60 size_t n = 0; |
61 size_t n = 0; |
61 for(size_t i = 0; i < str.length ; i++) { |
62 for(size_t i = 0; i < str.length ; i++) { |
62 if(isdigit(str.ptr[i])) { |
63 if(isdigit(str.ptr[i])) { |
503 } |
504 } |
504 |
505 |
505 char* util_encrypt_str(DavSession *sn, char *str, char *key) { |
506 char* util_encrypt_str(DavSession *sn, char *str, char *key) { |
506 DavKey *k = dav_context_get_key(sn->context, key); |
507 DavKey *k = dav_context_get_key(sn->context, key); |
507 if(!k) { |
508 if(!k) { |
508 // TODO: session error |
509 sn->error = DAV_ERROR; |
|
510 sstr_t err = ucx_sprintf("Key %s not found", key); |
|
511 dav_session_set_errstr(sn, err.ptr); |
|
512 free(err.ptr); |
509 return NULL; |
513 return NULL; |
510 } |
514 } |
511 |
515 |
512 return util_encrypt_str_k(sn, str, k); |
516 return util_encrypt_str_k(sn, str, k); |
513 } |
517 } |
520 } |
524 } |
521 |
525 |
522 char* util_decrypt_str(DavSession *sn, char *str, char *key) { |
526 char* util_decrypt_str(DavSession *sn, char *str, char *key) { |
523 DavKey *k = dav_context_get_key(sn->context, key); |
527 DavKey *k = dav_context_get_key(sn->context, key); |
524 if(!k) { |
528 if(!k) { |
525 // TODO: session error |
529 sn->error = DAV_ERROR; |
|
530 sstr_t err = ucx_sprintf("Key %s not found", key); |
|
531 dav_session_set_errstr(sn, err.ptr); |
|
532 free(err.ptr); |
526 return NULL; |
533 return NULL; |
527 } |
534 } |
528 |
535 |
529 return util_decrypt_str_k(sn, str, k); |
536 return util_decrypt_str_k(sn, str, k); |
530 } |
537 } |