digest_auth.c
Go to the documentation of this file.
1 #include <stdio.h>
2 #include <string.h>
3 #include "mongoose.h"
4 
5 static int ev_handler(struct mg_connection *conn, enum mg_event ev) {
6 
7  if (ev == MG_AUTH) {
8  int result = MG_FALSE; // Not authorized
9  FILE *fp;
10 
11  // To populate passwords file, do
12  // mongoose -A my_passwords.txt mydomain.com admin admin
13  if ((fp = fopen("my_passwords.txt", "r")) != NULL) {
14  result = mg_authorize_digest(conn, fp);
15  fclose(fp);
16  }
17 
18  return result;
19  }
20 
21  return MG_FALSE;
22 }
23 
24 int main(void) {
26  mg_set_option(server, "listening_port", "8080");
27  mg_set_option(server, "document_root", ".");
28 
29  printf("Starting on port %s\n", mg_get_option(server, "listening_port"));
30  for (;;) {
31  mg_poll_server(server, 1000);
32  }
33  mg_destroy_server(&server);
34 
35  return 0;
36 }
struct mg_server * mg_create_server(void *server_data, mg_handler_t handler)
Definition: mongoose.c:5431
const char * mg_get_option(const struct mg_server *server, const char *name)
Definition: mongoose.c:5425
UNITTEST_START int result
Definition: unit1304.c:49
time_t mg_poll_server(struct mg_server *server, int milliseconds)
Definition: mongoose.c:4965
#define printf
Definition: curl_printf.h:40
mg_event
Definition: mongoose.h:62
static struct mg_server * server
Definition: web_server.c:72
static int ev_handler(struct mg_connection *conn, enum mg_event ev)
Definition: digest_auth.c:5
int mg_authorize_digest(struct mg_connection *c, FILE *fp)
Definition: mongoose.c:4163
const char * mg_set_option(struct mg_server *server, const char *name, const char *value)
Definition: mongoose.c:5143
int main(void)
Definition: digest_auth.c:24
void mg_destroy_server(struct mg_server **server)
Definition: mongoose.c:4969


rc_tagdetect_client
Author(s): Monika Florek-Jasinska , Raphael Schaller
autogenerated on Sat Feb 13 2021 03:42:08