Use POP connection layer, reintroducing POP access control.
authorThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Fri, 3 Jul 2009 21:14:21 +0000 (18:14 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Fri, 3 Jul 2009 21:15:40 +0000 (18:15 -0300)
popproxy.c

index 3b23773..9dfa8a8 100644 (file)
@@ -80,6 +80,7 @@ static void
 new_client (int fd, struct sockaddr *addr, socklen_t saddr, gpointer data)
 {
   HCConn *conn;
+  HCConn *pop_conn;
   HCConn *server_conn;
   struct pop_address *address = data;
   if (fd < 0)
@@ -98,9 +99,11 @@ new_client (int fd, struct sockaddr *addr, socklen_t saddr, gpointer data)
 
   conn = hc_conn_new (NULL, NULL);
   hc_conn_set_driver_channel (conn, fd);
+  pop_conn = hc_conn_new (NULL, NULL);
+  hc_conn_set_driver_pop (pop_conn, conn);
 
-  hc_conn_set_callback (conn, push_other, server_conn);
-  hc_conn_set_callback (server_conn, push_other, conn);
+  hc_conn_set_callback (pop_conn, push_other, server_conn);
+  hc_conn_set_callback (server_conn, push_other, pop_conn);
 
 }