<div dir="ltr">Thank you for the response, it was very helpful.<div><br></div><div>I'm facing a small problem, i'm using the following code to get the ip and write it to a file : </div><div><div><span class="" style="white-space:pre"> </span>host_t* host = ike_sa->get_other_host(ike_sa);</div>
<div><span class="" style="white-space:pre">    </span>sockaddr_t* address = host->get_sockaddr(host);</div><div><span class="" style="white-space:pre"> </span>struct sockaddr_in* their_addr = (struct sockaddr_in*)address;</div>
<div><span class="" style="white-space:pre">    </span>char *ip = inet_ntoa(their_addr->sin_addr);</div></div><div><br></div><div>But the ip is the real ip, i want to know the vpn ip that the strongswan gave the client, i couldn't find it.</div>
<div>i tried to use : </div><div>chunk_t* blabla = host->get_address(host);<br></div><div><br></div><div>but i don't understand how to handle "chunk_t" how do i print the ip in blabla ?</div><div><br></div>
<div>Thanks in advance.</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Aug 3, 2014 at 10:24 AM, Andreas Steffen <span dir="ltr"><<a href="mailto:andreas.steffen@strongswan.org" target="_blank">andreas.steffen@strongswan.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
you could write your own monitoring plugin along the lines of the<br>
"certexpire" plugin:<br>
<br>
<a href="https://wiki.strongswan.org/projects/strongswan/repository/revisions/master/show/src/libcharon/plugins/certexpire" target="_blank">https://wiki.strongswan.org/projects/strongswan/repository/revisions/master/show/src/libcharon/plugins/certexpire</a><br>

<br>
where a bus listener collects the certificates used and checks them<br>
for the expiration date.<br>
<br>
In your case you could store the received peer certificates together<br>
with the corresponding IKE identities in a local file or send the<br>
information over a network <a href="http://socket.to" target="_blank">socket.to</a> a proxy server.<br>
<br>
Best regards<br>
<br>
Andreas<br>
<div><div class="h5"><br>
On 08/02/2014 08:05 PM, The supervisor wrote:<br>
> Hi,<br>
><br>
><br>
> I'm new to strongswan and i am trying to achieve something that<br>
> shouldn't be very hard, i have the following setup :<br>
><br>
> Clients --> Strongswan VPN --> transparent proxy --> Internet.<br>
><br>
><br>
> Clients connect to strongswan vpn using client certificate.<br>
><br>
><br>
> I'm trying to find the simplest way (minimum code changes) to know which<br>
> client uses which certificate (and then to send this information to my<br>
> transparent proxy, or just print it to a file).​<br>
><br>
> For example, when client with ip 10.1.0.1 connected using certificate X,<br>
> i want to send to my proxy a message about it.​<br>
><br>
><br>
> I downloaded and compiled the code, but i don't know really where to<br>
> start, If someone could point me to the relevant code modules i would<br>
> very appreciate it,  also any general explanation about how to achieve<br>
> my goal would be helpful also.<br>
><br>
><br>
> Thanks in advanced,<br>
><br>
> DN<br>
><br>
</div></div>======================================================================<br>
Andreas Steffen                         <a href="mailto:andreas.steffen@strongswan.org">andreas.steffen@strongswan.org</a><br>
strongSwan - the Open Source VPN Solution!          <a href="http://www.strongswan.org" target="_blank">www.strongswan.org</a><br>
Institute for Internet Technologies and Applications<br>
University of Applied Sciences Rapperswil<br>
CH-8640 Rapperswil (Switzerland)<br>
===========================================================[ITA-HSR]==<br>
<br>
</blockquote></div><br></div>