<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Kamen,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>   You are welcome.   Glad to help.   <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>   Based on the documentation for RemoveObj, it always does
everything all together ,including mangling object DN, updating attribute and
moving to Deleted Container etc,  to make the deleted object conform to the
invariants specified in 3.1.1.5.5 MS-ADTS.   If the attributes or values  already
conform to the invariants , they will not be changed.   This maybe the case
when it is used in UpdateObj() , where some of the attributes such as DN have
been changed in PerformModifyOperation and will not been changed again.  <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>  Please let me know if you have further question on this topic.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Thanks!<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Hongwei<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> kamenim@gmail.com
[mailto:kamenim@gmail.com] <b>On Behalf Of </b>Kamen Mazdrashki<br>
<b>Sent:</b> Sunday, May 23, 2010 5:28 AM<br>
<b>To:</b> Hongwei Sun<br>
<b>Cc:</b> cifs-protocol@samba.org; pfif@tridgell.net; MSSolve Case Email<br>
<b>Subject:</b> Re: [REG:110051857479854] RE: [cifs-protocol] Replicating
deleted object procedure clarifications<o:p></o:p></span></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Hi Hongwei,<o:p></o:p></p>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>You are totally right and you understood my question,
thanks!<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>The thing is that although the comment before calling
RemoveObj() describes what should happen next,<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>RemoveObj() descriptions itself doesn't mention about this
situation at all.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>I think the documentation is not complete enough and
RemoveObj() prototype and description should<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>make a distinction between 'mangling object DN, state and
update attributes' and just 'update attributes'.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>Now, if someone reads the description it looks like
RemoveObj() will act blindly on DSNAME given,&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>which should lead to deleting the object, modified already
by PerformModifyOperation() :)<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>Thanks,<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>Kamen<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p>

<div>

<p class=MsoNormal>On Sat, May 22, 2010 at 02:40, Hongwei Sun &lt;<a
href="mailto:hongweis@microsoft.com">hongweis@microsoft.com</a>&gt; wrote:<o:p></o:p></p>

<div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>Kamen,</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>&nbsp;</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#002060'>&nbsp; &nbsp;For your question regarding
the algorithm used in UpdateObject() , as documented in 4.1.10.6.9 of MS-DRSR,
&nbsp;I think that the RemoveObj() &nbsp;was performed after
PerformModifyOperation just to ensure the attributes on the deleted object
conform to the invariants of a tombstone or deleted-object(see 3.1..1.5.5 of
&nbsp;MS-ADTS).&nbsp;&nbsp; This is mentioned in the comments of the algorithm
before RemoveObj is called.&nbsp; &nbsp;&nbsp;Furthermore, as per 5.154 of
MS-DRSR, RemoveObj procedure performs a delete operation on an object so the
targeted object will be transformed to a deleted-object or a tombstone
,depending on the state of the Recycle Bin option feature.&nbsp; This includes
modifying the attributes and moving into the Deleted Container of its NC.&nbsp;
But it will not remove the objects from the directory
directly.&nbsp;&nbsp;&nbsp; If the object after PerformModifyOperation already
conforms to the invariant of deleted-object or tombstone,&nbsp; the RemoveObj
may do nothing to the object.</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#002060'>&nbsp;</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#002060'>&nbsp; Please let me know if I understand
you question properly and if you have further questions.</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#002060'>&nbsp;</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#002060'>Thanks!</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#002060'>&nbsp;</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#002060'>Hongwei&nbsp; &nbsp;&nbsp;&nbsp;</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>&nbsp;</span><o:p></o:p></p>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span
style='font-size:10.0pt'>From:</span></b><span style='font-size:10.0pt'> <a
href="mailto:cifs-protocol-bounces@cifs.org" target="_blank">cifs-protocol-bounces@cifs.org</a>
[mailto:<a href="mailto:cifs-protocol-bounces@cifs.org" target="_blank">cifs-protocol-bounces@cifs.org</a>]
<b>On Behalf Of </b>Kamen Mazdrashki</span><o:p></o:p></p>

<div>

<p class=MsoNormal><br>
<b>Sent:</b> Tuesday, May 18, 2010 7:33 AM<br>
<b>To:</b> Interoperability Documentation Help; <a
href="mailto:cifs-protocol@samba.org" target="_blank">cifs-protocol@samba.org</a>;
<a href="mailto:pfif@tridgell.net" target="_blank">pfif@tridgell.net</a><o:p></o:p></p>

</div>

<p class=MsoNormal><b>Subject:</b> [cifs-protocol] Replicating deleted object
procedure clarifications<o:p></o:p></p>

</div>

<div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Dear
Dochelp,<o:p></o:p></p>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I
am currently trying to refactor Delete object implementation in Samba and I
need some help<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>with
algorithm used for deleting objects and how the deletion is replicated to other
DCs.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Reference:<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;ProcessGetNCChangesReply
[MS-DRSR] -&nbsp;<a
href="http://msdn.microsoft.com/en-us/library/dd207758(v=PROT.13).aspx"
target="_blank">http://msdn.microsoft.com/en-us/library/dd207758(v=PROT.13).aspx</a><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;
&nbsp;UpdateObject [MS-DRSR] -&nbsp;<a
href="http://msdn.microsoft.com/en-us/library/dd207780(v=PROT.13).aspx"
target="_blank">http://msdn.microsoft.com/en-us/library/dd207780(v=PROT.13).aspx</a><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;Delete
Operation [MS-ADTS] -&nbsp;<a
href="http://msdn.microsoft.com/en-us/library/cc223480(v=PROT.13).aspx"
target="_blank">http://msdn.microsoft.com/en-us/library/cc223480(v=PROT.13).aspx</a><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Consider
following sutiation:<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>0.
We have two DCs configuration.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;
&nbsp;We have an OU object with following props:<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;
&nbsp; &nbsp;dn: OU=TEST_DELETE_0417,DC=samba,DC=devel<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;
&nbsp; &nbsp;objectGUID: b7f1b90d-d247-45b7-87fb-f6bc916bd729<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>1.
We delete this OU on DC1. The state of this object on each dc should be as
follows:<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;DC1:<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;
&nbsp; &nbsp;dn: OU=TEST_DELETE_0417\0ADEL:b7f1b90d-d247-45b7-87fb-f6bc916bd729,CN=Deleted
Objects,DC=samba,DC=devel<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;
&nbsp; &nbsp;objectGUID: b7f1b90d-d247-45b7-87fb-f6bc916bd729<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;
&nbsp; &nbsp;isDeleted: TRUE<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;
&nbsp; &nbsp;isRecycled: TRUE<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;DC2:<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;
&nbsp; &nbsp;dn: OU=TEST_DELETE_0417,DC=samba,DC=devel<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;
&nbsp; &nbsp;objectGUID: b7f1b90d-d247-45b7-87fb-f6bc916bd729<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;&nbsp;
&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>2.
Replication is triggered from DC1 to DC2.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Now,
according to UpdateObject() procedure, we will identify that Object's DN has
changed from&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&quot;dn:
OU=TEST_DELETE_0417,DC=samba,DC=devel&quot;&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>to
&quot;dn:
OU=TEST_DELETE_0417\0ADEL:b7f1b90d-d247-45b7-87fb-f6bc916bd729,CN=Deleted
Objects,DC=samba,DC=devel&quot;.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Hence
we will modify object's DN (calling&nbsp;PerformModifyDNOperation() operation).<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Which
will make this object a Deleted-object right?<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>While
progressing further in UpdateObject() procedure, we will check and see, that
'isDeleted'<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>attribute
value is TRUE, so we shall call RemoveObj() procedure. At this point I am a
little bit puzzled as&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>there
are two possible outcomes from this procedure:<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>1.
Object's RDN should be transformed to a delete-mangled RDN. So we should end
with an RDN like:<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;TEST_DELETE_0417\0ADEL:b7f1b90d-d247-45b7-87fb-f6bc916bd72\0ADEL:b7f1b90d-d247-45b7-87fb-f6bc916bd72
right?&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>2.
Or, as the object is already under &quot;Deleted Object&quot; container (moved
there by previous call to PerformModifyOperation()),<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>RemoveObj()
procedure should delete it further - i.e. if the object is a Tombstone, it will
be completely removed.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Sorry
that my description gets so messy.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Basically
what UpdateObject() states is that first we should execute
PerformModifyOperation() and then RemoveObj().<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Which
is a little bit confusing, as PerformModifyOperation() will turn the object
into a Deleted-object.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Calling
RemoveObj() later will actually act on already modified object, so I wonder -
how does RemoveObj()<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>knows
that we just converted the object and this object should not be completely
removed?<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Another
possibility is for PeformModifyOperation() to determine that target DN will
move the object under&nbsp;<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>&quot;Deleted
Objects&quot; container, and in this case to modify only Attribute values on
the object, but not to call<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>PerformModifyDNOperation()
operation?<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><br>
-- <br>
CU,<br>
Kamen Mazdrashki<br>
<a href="mailto:kamen.mazdrashki@postpath.com" target="_blank">kamen.mazdrashki@postpath.com</a><br>
<a href="http://gitweb.samba.org/?p=kamenim/samba.git;a=summary" target="_blank">http://gitweb.samba.org/?p=kamenim/samba.git;a=summary</a><br>
-------------------------------------<br>
CISCO SYSTEMS BULGARIA EOOD<br>
<a href="http://www.cisco.com/global/BG/" target="_blank">http://www.cisco.com/global/BG/</a><o:p></o:p></p>

</div>

</div>

</div>

</div>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</div>

</body>

</html>