about summary refs log tree commit diff stats
Commit message (Expand)AuthorAgeFilesLines
* 5075Kartik Agaram2019-04-101-0/+0
* 5074Kartik Agaram2019-04-1012-125/+290
* 5073Kartik Agaram2019-04-101-2/+2
* 5072Kartik Agaram2019-04-101-15/+1
* 5071Kartik Agaram2019-04-101-12/+15
* 5070Kartik Agaram2019-04-101-1/+1
* 5069Kartik Agaram2019-04-101-7/+7
* 5068Kartik Agaram2019-04-101-1/+1
* 5067Kartik Agaram2019-04-101-11/+11
* 5066Kartik Agaram2019-04-101-253/+223
* 5065Kartik Agaram2019-04-091-2/+2
* 5064Kartik Agaram2019-04-071-3/+2
* 5063Kartik Agaram2019-04-071-69/+0
* 5062Kartik Agaram2019-04-062-391/+460
* 5061Kartik Agaram2019-04-061-1/+1
* 5060Kartik Agaram2019-04-0610-13/+273
* 5059Kartik Agaram2019-04-0517-43/+43
* 5058Kartik Agaram2019-04-054-246/+252
* 5057Kartik Agaram2019-04-051-1/+35
* 5056Kartik Agaram2019-04-057-2/+144
* 5055 - new phase: merge fragment of segmentsKartik Agaram2019-04-041-0/+1102
* 5054Kartik Agaram2019-04-032-4/+3
* 5053Kartik Agaram2019-04-039-154/+266
* 5052Kartik Agaram2019-04-022-99/+127
* 5051 - done compiling SIB operandsKartik Agaram2019-04-022-3/+671
* 5050 - compile ModR/M operandsKartik Agaram2019-04-023-3/+809
* 5049Kartik Agaram2019-04-021-100/+196
* 5048Kartik Agaram2019-04-011-12/+12
* 5047Kartik Agaram2019-04-011-3/+3
* 5046Kartik Agaram2019-04-012-72/+52
* 5045Kartik Agaram2019-04-011-8/+8
* 5044Kartik Agaram2019-04-012-3/+248
* 5043Kartik Agaram2019-04-011-0/+3
* 5042Kartik Agaram2019-03-312-33/+35
* 5041 - compile displacement operandsKartik Agaram2019-03-312-13/+565
* 5040 - compile immediate operandsKartik Agaram2019-03-302-16/+556
* 5039 - compile opcodesKartik Agaram2019-03-302-6/+1011
* 5038Kartik Agaram2019-03-292-11/+181
* 5037Kartik Agaram2019-03-2910-32/+32
* 5036Kartik Agaram2019-03-292-34/+65
* 5035Kartik Agaram2019-03-291-1848/+2023
* 5034Kartik Agaram2019-03-292-50/+225
* 5033Kartik Agaram2019-03-2945-9421/+12048
* 5032Kartik Agaram2019-03-291-1/+2
* 5031Kartik Agaram2019-03-291-9/+10
* 5030 - docs for library functions created so farKartik Agaram2019-03-291-12/+137
* 5029Kartik Agaram2019-03-281-49/+119
* 5028Kartik Agaram2019-03-281-5/+5
* 5027Kartik Agaram2019-03-278-11/+384
* 5026Kartik Agaram2019-03-271-4/+4
ath(DIR_CERTS); if (!create_dir(certs_dir)) { g_free(certs_dir); return NULL; } gchar* filename = g_strdup_printf("%s/CAfile.pem", certs_dir); g_free(certs_dir); return filename; } void cafile_add(const TLSCertificate* cert) { if (!cert->pem) { log_error("[CAfile] can't store cert with fingerprint %s: PEM is empty", cert->fingerprint); return; } gchar* cafile = _cafile_name(); if (!cafile) return; gchar *contents = NULL, *new_contents = NULL; gsize length; GError* glib_error = NULL; if (g_file_test(cafile, G_FILE_TEST_EXISTS)) { if (!g_file_get_contents(cafile, &contents, &length, &glib_error)) { log_error("[CAfile] could not read from %s: %s", cafile, glib_error ? glib_error->message : "No GLib error given"); goto out; } if (strstr(contents, cert->fingerprint)) { log_debug("[CAfile] fingerprint %s already stored", cert->fingerprint); goto out; } } const char* header = "# Profanity CAfile\n# DO NOT EDIT - this file is automatically generated"; new_contents = g_strdup_printf("%s\n\n# %s\n%s", contents ? contents : header, cert->fingerprint, cert->pem); if (!g_file_set_contents(cafile, new_contents, -1, &glib_error)) log_error("[CAfile] could not write to %s: %s", cafile, glib_error ? glib_error->message : "No GLib error given"); out: g_free(new_contents); g_free(contents); g_free(cafile); } gchar* cafile_get_name(void) { gchar* cafile = _cafile_name(); if (!g_file_test(cafile, G_FILE_TEST_EXISTS)) { /* That's no problem! * There's no need to have a profanity-specific CAfile if all CA's * of servers you're trying to connect to are in your OS trust-store */ log_debug("[CAfile] file %s not created yet", cafile); g_free(cafile); cafile = NULL; } return cafile; }