<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-9442492</atom:id><lastBuildDate>Wed, 28 Aug 2024 11:08:19 +0000</lastBuildDate><title>Selcuk&#39;s Blog</title><description></description><link>http://selcukyazar.blogspot.com/</link><managingEditor>noreply@blogger.com (Selçuk Yazar)</managingEditor><generator>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-5941940703276213609</guid><pubDate>Mon, 19 Mar 2018 17:47:00 +0000</pubDate><atom:updated>2018-03-19T20:47:14.250+03:00</atom:updated><title>Download files from FTP with FtpResponse on ASP.NET MVC application</title><description>&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; it woks for large files!&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [HttpGet]&amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public virtual void Download(string g)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Uri uri = (Uri)Session[&quot;file_full_path&quot;];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FtpWebRequest request = (FtpWebRequest)WebRequest.Create(uri);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request.Credentials = new NetworkCredential(&quot;username&quot;, &quot;password&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request.UsePassive = true;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request.UseBinary = true;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request.EnableSsl = false;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//find size&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request.Method = WebRequestMethods.Ftp.GetFileSize;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FtpWebResponse responseSize = (FtpWebResponse)request.GetResponse();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; long size = responseSize.ContentLength;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; responseSize.Close();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FtpWebRequest request2 = (FtpWebRequest)WebRequest.Create(uri);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request2.Credentials = new NetworkCredential(&quot;username&quot;, &quot;password&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request2.UsePassive = true;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request2.UseBinary = true;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request2.EnableSsl = false;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; request2.Method = WebRequestMethods.Ftp.DownloadFile;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FtpWebResponse response = (FtpWebResponse)request2.GetResponse();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Stream dfileResponseStream = response.GetResponseStream();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Response.ContentType = System.Net.Mime.MediaTypeNames.Application.Octet;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Response.ContentEncoding = System.Text.Encoding.UTF7;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Response.Charset = &quot;ISO-8859-9&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Response.AddHeader(&quot;content-Disposition&quot;, &quot;attachment; filename=&quot; + Path.GetFileName(uri.LocalPath));&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while (size &amp;gt; 0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (Response.IsClientConnected)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte[] buffer = new Byte[10000];&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int length = dfileResponseStream.Read(buffer, 0, 10000);// stream.Read(buffer, 0, 10000);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Response.OutputStream.Write(buffer, 0, length);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Response.Flush();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; size = size - length;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; size = -1;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response.Close();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://selcukyazar.blogspot.com/2018/03/download-files-from-ftp-with.html</link><author>noreply@blogger.com (Selçuk Yazar)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-8878318159906028581</guid><pubDate>Mon, 25 Sep 2017 10:23:00 +0000</pubDate><atom:updated>2017-09-25T14:12:55.891+03:00</atom:updated><title>Web Of Science WokSearchLite C# client</title><description>Hayatımda bu kadar saçma şey görmedim.&lt;br /&gt;
&lt;br /&gt;
WSDL reference files:&lt;br /&gt;
http://ipscience-help.thomsonreuters.com/wosWebServicesLite/WebServicesLiteOverviewGroup/Introduction/wsdlFileLocations.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;using WindowsFormsApplication6.com.webofknowledge.search;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using WindowsFormsApplication6.com.webofknowledge.authenticate;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WOKMWSAuthenticateService wa = new WOKMWSAuthenticateService(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string session_id = wa.authenticate(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Uri target = new Uri(&quot;http://search.webofknowledge.com/&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wa.CookieContainer = new CookieContainer(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wa.CookieContainer.Add(new Cookie(&quot;SID&quot;, session_id) { Domain = target.Host }); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WokSearchLiteService searcher = new WokSearchLiteService(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; queryParameters q = new queryParameters();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; q.databaseId = &quot;WOS&quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; editionDesc[] my_editions = editionDesc[5];&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; my_editions[0] = new editionDesc() { collection = &quot;WOS&quot;, edition = &quot;SCI&quot; };&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; my_editions[1] = new editionDesc() { collection = &quot;WOS&quot;, edition = &quot;SSCI&quot; };&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; my_editions[2] = new editionDesc() { collection = &quot;WOS&quot;, edition = &quot;AHCI&quot; };&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; my_editions[3] = new editionDesc() { collection = &quot;WOS&quot;, edition = &quot;ISTP&quot; };&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; my_editions[4] = new editionDesc() { collection = &quot;WOS&quot;, edition = &quot;ISSHP&quot; }; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; q.editions = my_editions;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; q.userQuery = &quot;AI=Researcher ID&quot;; or //q.userQuery = &quot;AU=Surname Name*&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; q.queryLanguage = &quot;en&quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;retrieveParameters rp = new retrieveParameters();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rp.count = 100;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rp.firstRecord = 1;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//Cookie maybe unneccessary in here ??? &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; searcher.CookieContainer = new CookieContainer(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; searcher.CookieContainer.Add(new Cookie(&quot;SID&quot;, session_id) { Domain = target.Host });&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;searchResults sr = searcher.search(q, rp);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wa.closeSession();</description><link>http://selcukyazar.blogspot.com/2017/09/web-of-science-woksearchlite-c-client.html</link><author>noreply@blogger.com (Selçuk Yazar)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-8176275677040844786</guid><pubDate>Wed, 23 Nov 2016 07:03:00 +0000</pubDate><atom:updated>2016-11-23T10:03:28.420+03:00</atom:updated><title></title><description>utf-8 code points for Turkish special chars (non-ascii)&lt;br /&gt;
UTF8:&lt;br /&gt;
Ç&lt;br /&gt;
00c7&lt;br /&gt;
\xc3 \x87&lt;br /&gt;
ç&lt;br /&gt;
00e7&lt;br /&gt;
\xc3 \xa7&lt;br /&gt;
Ğ&lt;br /&gt;
011e&lt;br /&gt;
\xc4 \x9e&lt;br /&gt;
ğ&lt;br /&gt;
011f&lt;br /&gt;
\xc4 \x9f&lt;br /&gt;
İ&lt;br /&gt;
0130&lt;br /&gt;
\xc4 \xb0&lt;br /&gt;
ı&lt;br /&gt;
0131&lt;br /&gt;
\xc4 \xb1&lt;br /&gt;
Ö&lt;br /&gt;
00d6&lt;br /&gt;
\xc3 \x96&lt;br /&gt;
ö&lt;br /&gt;
00f6&lt;br /&gt;
\xc3 \xb6&lt;br /&gt;
Ş&lt;br /&gt;
015e&lt;br /&gt;
\xc5 \x9e&lt;br /&gt;
ş&lt;br /&gt;
015f&lt;br /&gt;
\xc5 \x9f&lt;br /&gt;
Ü&lt;br /&gt;
00dc&lt;br /&gt;
\xc3 \x9c&lt;br /&gt;
ü&lt;br /&gt;
00fc&lt;br /&gt;
\xc3 \xbc</description><link>http://selcukyazar.blogspot.com/2016/11/blog-post.html</link><author>noreply@blogger.com (Selçuk Yazar)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-1235633446410550149</guid><pubDate>Tue, 10 Mar 2015 09:12:00 +0000</pubDate><atom:updated>2015-03-10T11:37:31.290+02:00</atom:updated><title>Chroot, sftp,scp, ssh, limited shell in Redhat Enterprise linux 5 (SSH 4.3P2.EL5)</title><description>&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Few days ago, our client try to domain for their application. They wanted sftp access and also they need ssh command in bash for their user, but user is /bin/false shell :(&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;After make some searches i found rssh and lshell but they didn&#39;t satify me.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Ok, we have too many subdomains in RHEL5 server. users have own folder which can access ftp protocol. That&#39;s hy we just user&#39;s shell /bin/false. but this time we need to change this settings for one specific user&lt;br /&gt;
&lt;br /&gt;
Here is the steps.&lt;br /&gt;
&lt;br /&gt;
change shell of user /bin/bash&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt;&lt;i&gt;&lt;u&gt;chsh -s /bin/bash username&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;
our folder structureis like this&lt;br /&gt;
&lt;br /&gt;
/dir1/dir2/dir3/userhomefolder/....&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;u&gt;dir1, dir2, dir3 permissions is root:root&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;
&lt;b&gt;&lt;i&gt;&lt;u&gt;userhomefolder permissions is root:root and mod is 755&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
goto username home folder.&lt;br /&gt;
&lt;br /&gt;
mkdir -p home&lt;br /&gt;
mkdir -p dev&lt;br /&gt;
mkdir -p usr&lt;br /&gt;
mkdir -p usr/bin&lt;br /&gt;
mkdir -p bin&lt;br /&gt;
mkdir -p lib&lt;br /&gt;
mkdir -p usr/lib/openssh&lt;br /&gt;
mkdir -p etc&lt;br /&gt;
mkdir -p etc/pam.d/&lt;br /&gt;
mkdir -p root&lt;br /&gt;
&lt;b&gt;chown username:usernamegroup root&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;chmod 755 root&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
mknod dev/null c 1 3&lt;br /&gt;
mknod dev/zero c 1 5&lt;br /&gt;
mknod &amp;nbsp;dev/tty c 5 0&lt;br /&gt;
mknod dev/urandom c 1 9&lt;br /&gt;
chmod 666 dev/null&lt;br /&gt;
chmod 666 dev/zero&lt;br /&gt;
chmod 666 dev/tty&lt;br /&gt;
chmod 666 dev/urandom&lt;br /&gt;
&lt;br /&gt;
cp /lib/libnss_compat.so.2 /lib/libnsl.so.1 /lib/libnss_files.so.2 /lib/ld-linux.so.2 /lib/libcap.so.1 /lib/libnss_dns.so.2 ./lib/&lt;br /&gt;
&lt;br /&gt;
cp /etc/hosts etc/&lt;br /&gt;
cp /etc/resolv.conf etc/&lt;br /&gt;
cp /etc/pam.d/* etc/pam.d/&lt;br /&gt;
cp -r /lib/security lib/&lt;br /&gt;
cp -r /etc/security etc/&lt;br /&gt;
cp /etc/login.defs etc/&lt;br /&gt;
cp /usr/lib/libgssapi_krb5.so.2 usr/lib/&lt;br /&gt;
cp /usr/lib/libkrb5.so.3 usr/lib/&lt;br /&gt;
cp /usr/lib/libk5crypto.so.3 usr/lib/&lt;br /&gt;
cp /lib/libcom_err.so.2 lib/&lt;br /&gt;
cp /usr/lib/libkrb5support.so.0 usr/lib/&lt;br /&gt;
&lt;br /&gt;
echo &#39;#!/bin/bash&#39; &amp;gt; usr/bin/groups&lt;br /&gt;
echo &quot;id -Gn&quot; &amp;gt;&amp;gt; usr/bin/groups&lt;br /&gt;
touch etc/passwd&lt;br /&gt;
grep /etc/passwd -e &quot;^root&quot; &amp;gt; etc/passwd&lt;br /&gt;
grep /etc/&lt;b&gt;&lt;i&gt;&lt;u&gt;username&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
grep /etc/group -e &quot;^root&quot; -e &quot;^users&quot; &amp;gt; etc/group&lt;br /&gt;
&lt;br /&gt;
So all these folder owned by root, except root folder (becouse of ssh client )&lt;br /&gt;
&lt;br /&gt;
after that, create a shell script under /usr/local/sbin or whereever you want&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;u&gt;&lt;span style=&quot;color: red;&quot;&gt;APPS=&quot;/bin/sh /bin/bash /usr/sbin/chroot /bin/cp /bin/ls /bin/mkdir /bin/mv /bin/pwd /bin/rm /bin/rmdir /usr/bin/id /usr/bin/ssh /usr/bin/ssh-keygen /bin/ping /usr/bin/dircolors /bin/vi /usr/bin/sftp /usr/libexec/openssh/sftp-server&quot; &amp;nbsp; #your apps here&lt;!------&gt;&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;u&gt;&lt;span style=&quot;color: red;&quot;&gt;#&amp;nbsp;&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;&lt;span style=&quot;color: red;&quot;&gt;/usr/bin/sftp /usr/libexec/openssh/sftp-server is not neccessary but future use.&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
for prog in $APPS; &amp;nbsp;do&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mkdir -p ./`dirname $prog` &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cp $prog ./$prog&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # obtain a list of related libraries&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ldd $prog &amp;gt; /dev/null&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if [ &quot;$?&quot; = 0 ] ; then&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LIBS=`ldd $prog | awk &#39;{ print $3 }&#39;`&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for l in $LIBS; do&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mkdir -p ./`dirname $l` &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cp $l ./$l &amp;nbsp;&amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; done&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
after that run this command in &amp;nbsp;&lt;b&gt;&lt;i&gt;&lt;u&gt;/dir1/dir2/dir3/userhomefolder/&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;
Ok, we have one more step for chroot. Chroot command run only root user, so we need to write a small program&lt;br /&gt;
&lt;br /&gt;
#include &amp;nbsp; stdio.h &lt;br /&gt;
#include &amp;nbsp;stdlib.h &lt;br /&gt;
#include &amp;nbsp;sys/types.h &lt;br /&gt;
#include &amp;nbsp; unistd.h &lt;br /&gt;
#include &amp;nbsp; string.h &lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp;char str_command[500] = &quot;/root/chrt.sh &quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;strcat(str_command,argv[1]); // first parameter is user home folder.&lt;br /&gt;
&amp;nbsp; &amp;nbsp;setuid( 0 );&lt;br /&gt;
&amp;nbsp; &amp;nbsp;system(&amp;nbsp;str_command&amp;nbsp;);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
save this code whatever. here is call-script.c. After that compile and set permissions&lt;br /&gt;
&lt;br /&gt;
make call-script call-script.c&lt;br /&gt;
chmod +x call-script&lt;br /&gt;
chmod u+s call-script&lt;br /&gt;
&lt;br /&gt;
let&#39;s create /root/chrt.sh file&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
chroot $1 &amp;nbsp;// this home path parameter from call-script program&lt;br /&gt;
and set permission&lt;br /&gt;
&lt;br /&gt;
chmod +x /root/chrt.sh&lt;br /&gt;
&lt;br /&gt;
and finally goto /etc/profile file add end of the file&lt;br /&gt;
&lt;br /&gt;
if [ $USER == &quot;username&quot; ]; then&lt;br /&gt;
&amp;nbsp; &amp;nbsp; /usr/local/src/call-script username_home_folder&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
also you make change in sshd_config file ;&lt;br /&gt;
&lt;br /&gt;
Subsystem &amp;nbsp; &amp;nbsp; &amp;nbsp; sftp &amp;nbsp; &amp;nbsp;internal-sftp&lt;br /&gt;
ChrootDirectory %h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
also i created web folder in user home dir, and set apache&#39;s documentroot this web folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeGEEcrkRC1sPucmEKr-5DjX5W5qBMk51sULBllvMwEJQ7oJHeZUxpZOc-yV5gxqyDAxl8WVX4ERH4dSPvuPRHaKL7rwMTEm2GiySAQ4SsdVqd-MbS3_OUrPtY3iR1amHhrWGncg/s1600/p1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeGEEcrkRC1sPucmEKr-5DjX5W5qBMk51sULBllvMwEJQ7oJHeZUxpZOc-yV5gxqyDAxl8WVX4ERH4dSPvuPRHaKL7rwMTEm2GiySAQ4SsdVqd-MbS3_OUrPtY3iR1amHhrWGncg/s1600/p1.png&quot; height=&quot;244&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPwiaFonhYGPA69187VyoMChGIFNAvXtRH7bsreyLV8HPARhByTbTyAnejTnR1uqacr29Dwdgm907d5lbXHiuZz4T5Kqasrt7bgZY_t0qYgJw27IpJL02LDYa6ba_mS6GgQNwhyphenhyphenA/s1600/SHELL.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPwiaFonhYGPA69187VyoMChGIFNAvXtRH7bsreyLV8HPARhByTbTyAnejTnR1uqacr29Dwdgm907d5lbXHiuZz4T5Kqasrt7bgZY_t0qYgJw27IpJL02LDYa6ba_mS6GgQNwhyphenhyphenA/s1600/SHELL.png&quot; height=&quot;217&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOT_XQJQ919JJ7EJ5tpeEiL_XiscTR8cHMKs1-gKw0SzPO0BHKqDorDCduv8LJpUVBhJXmxj4K6uGnk-I5BB3_wk-JlAnL2vEPty3zq_uf7Su0PM6W0PhKpdEad5sX74hEVo6hAw/s1600/scp-sftp.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOT_XQJQ919JJ7EJ5tpeEiL_XiscTR8cHMKs1-gKw0SzPO0BHKqDorDCduv8LJpUVBhJXmxj4K6uGnk-I5BB3_wk-JlAnL2vEPty3zq_uf7Su0PM6W0PhKpdEad5sX74hEVo6hAw/s1600/scp-sftp.png&quot; height=&quot;202&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
REFERENCES&lt;br /&gt;
1.&amp;nbsp;&lt;a href=&quot;http://www.linuxquestions.org/questions/linux-newbie-8/chroot-error-cannot-change-root-directory-to-jail-operation-not-permitted-875623/&quot; target=&quot;_blank&quot;&gt;chroot error &quot;cannot change root directory to /jail: Operation not permitted&quot;&lt;/a&gt;&lt;br /&gt;
2.&amp;nbsp;&lt;a href=&quot;http://www.linuxweblog.com/ssh-chroot-ispconfig&quot; target=&quot;_blank&quot;&gt;SSH Chroot in ISPConfig Centos-4.6&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://selcukyazar.blogspot.com/2015/03/chroot-sftpscp-ssh-limited-shell-in.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeGEEcrkRC1sPucmEKr-5DjX5W5qBMk51sULBllvMwEJQ7oJHeZUxpZOc-yV5gxqyDAxl8WVX4ERH4dSPvuPRHaKL7rwMTEm2GiySAQ4SsdVqd-MbS3_OUrPtY3iR1amHhrWGncg/s72-c/p1.png" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-8599755334890599406</guid><pubDate>Wed, 28 May 2014 13:13:00 +0000</pubDate><atom:updated>2014-05-30T10:29:59.567+03:00</atom:updated><title>Sieve and managesieve on redhat EL 6 with Dovecot 2.0.9 </title><description>&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Last time , I applied LDA deliverey on our MTA instead of procmail.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;let&#39;s try to add sieve funtions to dovecot.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;first, stop everything :)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 22px; text-indent: 10px;&quot;&gt;# service stop postfix&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif; line-height: 22px; text-indent: 10px;&quot;&gt;# service stop dovecot&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: #f3f3f3; line-height: 22px; text-indent: 10px;&quot;&gt;after that you must install dovecot pigeonhole with&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif; line-height: 22px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;#&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;yum install dovecot-pigeonhole&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif; line-height: 22px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;after that, go to dovecot/conf.d directory.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;1. Edit your 15-lda.conf file and&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 22px; text-indent: 10px;&quot;&gt;uncomment plugins parameter in protocol lda seciton:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: #f3f3f3; line-height: 22px; text-indent: 10px;&quot;&gt;mail_plugins = $mail_plugins sieve&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 22px; text-indent: 10px;&quot;&gt;We have aditional two files in here for sieve configuration,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 22px; text-indent: 10px;&quot;&gt;20-managesieve.conf and 90-sieve.conf.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 22px; text-indent: 10px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 22px; text-indent: 10px;&quot;&gt;2. Go to 90-sieve.conf file and edit parameters below:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;sieve = /var/sieve-scripts/%u.sieve&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;sieve_dir = /home/vmail/domains/sieve/%n/.sieve&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;Note:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;%u user &amp;nbsp; &amp;nbsp; full username (e.g. user@domain)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;%n username user part in user@domain, same as %u if there&#39;s no domain&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;%d domain &amp;nbsp; domain part in user@domain, empty if user with no domain&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;3. In 20-managesieve.conf file&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;uncomment&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 22px;&quot;&gt;protocols = $protocols sieve&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 22px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 22px;&quot;&gt;and&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 22px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif; line-height: 22px;&quot;&gt;&amp;nbsp;inet_listener sieve {&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif; line-height: 22px;&quot;&gt;&amp;nbsp; &amp;nbsp; port = 4190&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 22px; text-indent: 10px;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif; line-height: 22px;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 22px;&quot;&gt;lines and&amp;nbsp;&lt;/span&gt;add this parameters end of &amp;nbsp;file&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;plugin {&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; # Used by both the Sieve plugin and the ManageSieve protocol&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; sieve = /var/sieve-scripts/%u.sieve &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; sieve_dir = /home/vmail/domains/sieve/%n/.sieve&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;* Our mail_location is mbox:/home/vmail/domains/%d/%u and there is no mail_home config parameter. Home directory is come form OpenLDAP field (Jamm schema)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;and scripts folder is like this.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;drwxr-xr-x 2 vmail vmail 4096 May 28 14:43 /var/sieve-scripts&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif;&quot;&gt;And start everything&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif; line-height: 22px;&quot;&gt;# service start postfix&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif; line-height: 22px;&quot;&gt;# service start dovecot&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif; line-height: 22px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 10px;&quot;&gt;
&lt;span style=&quot;background-color: #f3f3f3; font-family: Arial, Helvetica, sans-serif; line-height: 22px;&quot;&gt;I suggest , you must do change delivery method to LDA , so after that install sieve things. If you have any webmail interface like roundcube, afterlogic , you can install managesieve plugin or filter plugin than you can start create your filters.&lt;/span&gt;&lt;/div&gt;
</description><link>http://selcukyazar.blogspot.com/2014/05/sieve-and-managesieve-on-redhat-el-6.html</link><author>noreply@blogger.com (Selçuk Yazar)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-1126613061029962977</guid><pubDate>Fri, 23 May 2014 10:46:00 +0000</pubDate><atom:updated>2014-05-28T16:21:53.147+03:00</atom:updated><title>Convert mail delivery from Procmail to Dovecot 2.0.9 on Redhat EL 6</title><description>&lt;br /&gt;
Maybe you installed this like MTA system&lt;br /&gt;
&lt;br /&gt;
http://wanderingbarque.com/howtos/mailserver/mailserver.html&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
http://www.stefan-seelmann.de/wiki/mailserver-postfix-dovecot&lt;br /&gt;
&lt;br /&gt;
So i installed this MTA system but our delivery method remained procmail. Last two days i try to change delivery system promail to dovecot, after thart i installed dovecot-pigeonhole sieve manager, so users can create their own filters or etc. Before that there is no need just like these thing , everybody is happy.&lt;br /&gt;
&lt;br /&gt;
HowTo :&lt;br /&gt;
&lt;br /&gt;
first stop everything,&lt;br /&gt;
&lt;br /&gt;
service stop postfix&lt;br /&gt;
service stop dovecot&lt;br /&gt;
&lt;br /&gt;
ok these are steps of procmail to dovecot&lt;br /&gt;
&lt;br /&gt;
1. in main.cf&lt;br /&gt;
&lt;br /&gt;
change mailbox_command to&lt;br /&gt;
&lt;br /&gt;
mailbox_command = /usr/libexec/dovecot/dovecot-lda -f &quot;$SENDER&quot; -a &quot;$RECIPIENT&quot;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
change virtual_transport to&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
virtual_transport = dovecot&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
and add&lt;/div&gt;
&lt;div&gt;
dovecot_destination_recipient_limit = 1&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
2. in master.cf&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
dovecot &amp;nbsp; unix &amp;nbsp;- &amp;nbsp; &amp;nbsp; &amp;nbsp; n &amp;nbsp; &amp;nbsp; &amp;nbsp; n &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; pipe&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
in this example our user is vmail you must change with your own.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
3. in dovecot/conf.d/15-lda.conf &amp;nbsp;add log file values&lt;/div&gt;
&lt;div&gt;
protocol lda&lt;/div&gt;
&lt;div&gt;
{&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&amp;nbsp; log_path = /var/log/dovecot-lda-errors.log&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; info_log_path = /var/log/dovecot-lda.log&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; debug_log_path = /var/log/dovecot-lda-errors.log&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
}&lt;/div&gt;
&lt;div&gt;
maybe all these log values are not neccessary but it works :) i didn&#39;t touch them.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
4. in dovecot/conf.d/10-master.conf uncomment mod and user, remember vmail is our user in here&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
service auth {&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; # auth_socket_path points to this userdb socket by default. It&#39;s typically&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; # used by dovecot-lda, doveadm, possibly imap process, etc. Its default&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; # permissions make it readable only by root, but you may need to relax these&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; # permissions. Users that have access to this socket are able to get a list&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; # of all usernames and get results of everyone&#39;s userdb lookups.&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; unix_listener auth-userdb {&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; mode = 0600&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; user = vmail&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; #group =&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; }&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
finally start everything&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
service start postfix&lt;/div&gt;
&lt;div&gt;
service start dovecot&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
that&#39;s it.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
i hope helps someone else.&lt;/div&gt;
</description><link>http://selcukyazar.blogspot.com/2014/05/convert-mail-delivery-from-procmail-to.html</link><author>noreply@blogger.com (Selçuk Yazar)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-1347652273400217694</guid><pubDate>Wed, 20 Nov 2013 10:41:00 +0000</pubDate><atom:updated>2013-12-11T09:52:15.498+02:00</atom:updated><title>BIND DNS Subdomain Settings For Office 365</title><description>When you have BIND DNS server with subdomains, and you want to add Office 365 e-mail server settings one of the subdomains, you need add to records below in your master zone dns file.&lt;br /&gt;
;&lt;br /&gt;
; Microsoft Office 365&lt;br /&gt;
;&lt;br /&gt;
mysubdomain.domain.com.tr. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IN &amp;nbsp; &amp;nbsp; &amp;nbsp;MX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 mysubdomain-comain-com-tr.mail.protection.outlook.com.&lt;br /&gt;
&lt;br /&gt;
mysubdomain.domain.com.tr. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IN &amp;nbsp; &amp;nbsp; &amp;nbsp;TXT &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;v=spf1 include:spf.protection.outlook.com -all&quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;autodiscover.mysubdomain.domain.com.tr. &amp;nbsp; &amp;nbsp;IN &amp;nbsp; &amp;nbsp; &amp;nbsp;CNAME &amp;nbsp; autodiscover.outlook.com.&lt;br /&gt;
&lt;br /&gt;
sip.mysubdomain.domain.com.tr. &amp;nbsp; &amp;nbsp; IN &amp;nbsp; &amp;nbsp; &amp;nbsp;CNAME &amp;nbsp; sipdir.online.lync.com.&lt;br /&gt;
lyncdiscover.mysubdomain.domain.com.tr. &amp;nbsp; &amp;nbsp;IN &amp;nbsp; &amp;nbsp; &amp;nbsp;CNAME &amp;nbsp; webdir.online.lync.com.&lt;br /&gt;
;&lt;br /&gt;
; Microsoft Lync Online&lt;br /&gt;
;&lt;br /&gt;
_sip._tls.mysubdomain.domain.com.tr. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN &amp;nbsp; &amp;nbsp; &amp;nbsp;SRV 100 1 443 sipdir.online.lync.com.&lt;br /&gt;
_sipfederationtls._tcp.mysubdomain.domain.com.tr. &amp;nbsp; IN &amp;nbsp; &amp;nbsp; &amp;nbsp;SRV 100 1 5061 sipfed.online.lync.com.&lt;br /&gt;
msoid.mysubdomain.domain.com.tr. &amp;nbsp; IN &amp;nbsp; &amp;nbsp; &amp;nbsp;CNAME &amp;nbsp; clientconfig.microsoftonline-p.net.&lt;br /&gt;
;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://selcukyazar.blogspot.com/2013/11/bind-dns-subdomain-settings-for-office.html</link><author>noreply@blogger.com (Selçuk Yazar)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-3965259766526302505</guid><pubDate>Mon, 07 Oct 2013 09:05:00 +0000</pubDate><atom:updated>2013-10-07T12:05:07.923+03:00</atom:updated><title>SQL Server Index Fragmentation Monitoring </title><description>Hi,&lt;br /&gt;
&lt;br /&gt;
This is the very simple monitoring command for sql server. Of course you must create a mail profile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DECLARE @xml NVARCHAR(MAX)&lt;br /&gt;
DECLARE @body NVARCHAR(MAX)&lt;br /&gt;
&lt;br /&gt;
SET @xml = CAST(( SELECT Object_name(object_id) as &#39;td&#39;,s.name as &#39;td1&#39;&lt;br /&gt;
,LTRIM(Str(avg_fragmentation_in_percent, 25, 3)) as &#39;td2&#39;&lt;br /&gt;
FROM sys.dm_db_index_physical_stats (DB_ID(&#39;AdventureWorks2012&#39;), NULL, NULL , NULL, &#39;LIMITED&#39;) d&lt;br /&gt;
join sysindexes s on d.object_id = s.id&lt;br /&gt;
and d.index_id = s.indid&lt;br /&gt;
and avg_fragmentation_in_percent &amp;gt; 30 and s.name is not null&lt;br /&gt;
FOR XML PATH(&#39;tr&#39;), ELEMENTS ) AS NVARCHAR(MAX))&lt;br /&gt;
&lt;br /&gt;
SET @body =&#39; &amp;lt; html &amp;gt;&amp;lt; body &amp;gt;&amp;lt; H 3&amp;gt;Index Fragmantetion Results&amp;lt; / H3 &amp;gt;&lt;br /&gt;
&amp;lt; table border = 1 &amp;gt;&lt;br /&gt;
&amp;lt; tr &amp;gt;&lt;br /&gt;
&amp;lt; th &amp;gt; Table Name &amp;lt; /th&amp;gt; &lt;th&gt; Index Name &amp;lt; /th&amp;gt; &lt;th&gt; Avg. Rate &amp;nbsp;&lt;/th&gt;&amp;lt; /tr &amp;gt;&#39; &amp;nbsp; &amp;nbsp;&lt;/th&gt;&lt;br /&gt;
&lt;br /&gt;
SET @body = @body + @xml +&#39;&amp;lt; /table&amp;gt;&amp;lt; /body&amp;gt;&amp;lt; /html&amp;gt;&#39;&lt;br /&gt;
SET @body = REPLACE(@body,&#39;td1&#39;,&#39;td&#39;)&lt;br /&gt;
SET @body = REPLACE(@body,&#39;td2&#39;,&#39;td&#39;)&lt;br /&gt;
&lt;br /&gt;
EXEC msdb.dbo.sp_send_dbmail&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @profile_name = &#39;dbmail&#39;, -- you have to create this&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @recipients = &#39;mail@mail.com.tr&#39;,&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@body = @body,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @body_format =&#39;HTML&#39;,&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;--@execute_query_database=&#39;AdventureWorks2012&#39;, --maybe necessary&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @subject = &#39;Index Monitoring&#39; ;</description><link>http://selcukyazar.blogspot.com/2013/10/sql-server-index-fragmentation.html</link><author>noreply@blogger.com (Selçuk Yazar)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-2975996115166622064</guid><pubDate>Tue, 19 Apr 2011 11:14:00 +0000</pubDate><atom:updated>2011-04-19T14:15:41.791+03:00</atom:updated><title>PDFCreator AutoSave Folder Reset at Windows 2008 R2</title><description>Just Set&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(51, 51, 51); font-family: &#39;Trebuchet MS&#39;; font-size: 12px; &quot;&gt;Under  HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PDFCreator\Program Key SEt Auto-Save folder value.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(51, 51, 51); font-family: &#39;Trebuchet MS&#39;; font-size: 12px; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(51, 51, 51); font-family: &#39;Trebuchet MS&#39;; font-size: 12px; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</description><link>http://selcukyazar.blogspot.com/2011/04/pdfcreator-autosave-folder-reset-at.html</link><author>noreply@blogger.com (Selçuk Yazar)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-5640771591790896123</guid><pubDate>Mon, 14 Mar 2011 12:46:00 +0000</pubDate><atom:updated>2011-03-14T14:58:47.609+02:00</atom:updated><title>Simple OnAccess Scan Solution For Clamav in Redhat</title><description>Clamav is powerfull antivir solution for linux. But if you wantto add onaccess scan functionality of clamav you maus re-compile your kernel with DazukoFS. I think it is quite diffucult process for running systems.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There is another alternative for this with inotify tools. Here is the steps;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Instal ClamAv for linux.&lt;/div&gt;&lt;div&gt;2.Install intotify tools for linux&lt;/div&gt;&lt;div&gt;  2.1. wget http://sourceforge.net/projects/inotify-tools/files/inotify-tools/3.13/inotify-tools-3.13.tar.gz/download&lt;/div&gt;&lt;div&gt;  2.2 goto inotify source inotifywait.c line 310&lt;/div&gt;&lt;div&gt;  2.3  add this lines before  &quot; fflush( NULL );&quot; atom&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;           static char * scanfiles;&lt;/div&gt;&lt;div&gt;           nasprintf( &amp;amp;scanfiles, &quot;%s%s&quot;,inotifytools_filename_from_wd( event-&gt;wd ),                      event-&gt;name );&lt;/div&gt;&lt;div&gt;                char command[1000];&lt;/div&gt;&lt;div&gt;                strcpy (command,&quot;/usr/local/clamav/bin/clamscan -r --remove  &quot;);&lt;/div&gt;&lt;div&gt;                strcat (command,scanfiles);&lt;/div&gt;&lt;div&gt;                system(command);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; 2.4 goto instalation dir of inotify tools&lt;/div&gt;&lt;div&gt; 2.5 run&lt;/div&gt;&lt;div&gt;      ./configure&lt;/div&gt;&lt;div&gt;       make&lt;/div&gt;&lt;div&gt;       make install&lt;/div&gt;&lt;div&gt; 2.6 goto rc.local add this line&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;     nohup /usr/local/bin/inotifywait  -qq -r -m -e create,close_write /watch_folder_name/ &gt; /dev/null &amp;amp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; also you can add these parameters before folder name , if you have joomla or another application&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;         --exclude &quot;refTableSQL/*   --exclude &quot;cache/*&quot;   (quotas must be include)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and that&#39;s it. When new file created or replaced , or whatever event ocuured, clamav scan these files.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; I hope that this is helpfull for anyone.&lt;/div&gt;</description><link>http://selcukyazar.blogspot.com/2011/03/simple-onaccess-scan-solution-for.html</link><author>noreply@blogger.com (Selçuk Yazar)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-7189586034080174230</guid><pubDate>Wed, 25 Aug 2010 13:44:00 +0000</pubDate><atom:updated>2010-08-25T16:45:24.924+03:00</atom:updated><title>The Mars</title><description>Nihayet, uzun zamandır planladığım siteyi açtım.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;www.iwanttogotomars.org&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;...&lt;/div&gt;</description><link>http://selcukyazar.blogspot.com/2010/08/mars.html</link><author>noreply@blogger.com (Selçuk Yazar)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-3695724496122708527</guid><pubDate>Sat, 05 Dec 2009 23:01:00 +0000</pubDate><atom:updated>2009-12-06T01:06:15.161+02:00</atom:updated><title>The module “jscript.dll” DllregisterServer failed with error code 0×80004005</title><description>Zalim bir virus darbesinden sonra bu hatayı alıyorsanız, Windows media player ını açılmıyorsa, Search ekranınız boş geliyorsa ve gecenin bir vakti çözüm arıyorsanız işte altenatif çözüm:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1.&lt;a href=&quot;http://support.microsoft.com/kb/313222#Fixed&quot;&gt;http://support.microsoft.com/kb/313222#Fixed&lt;/a&gt; adresine gidip , Microsoft fix it dosyasını indiriniz ve çalıştırınız. ( ah microsoft ah!)&lt;/div&gt;&lt;div&gt;2. Daha sonra bilgisayarınızı restart ediniz.&lt;/div&gt;&lt;div&gt;3. Başlat -&gt; Çalıştır -&gt; regsvr32 jscript.dll yazınız.&lt;/div&gt;&lt;div&gt;4. Media Player &#39;ı çalıştırınız.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;gece saat01 itibariyle sorunum çözüldü.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://selcukyazar.blogspot.com/2009/12/module-jscriptdll-was-loaded-but-call.html</link><author>noreply@blogger.com (Selçuk Yazar)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-115385766467177774</guid><pubDate>Tue, 25 Jul 2006 19:57:00 +0000</pubDate><atom:updated>2006-07-25T23:01:04.686+03:00</atom:updated><title>regenerative dentistry</title><description>Galiba çok kısa bir süre içinde bu terimi sıkça duyacağız. yılardır benim de hayalim olan; diş dolgusu, kanal tedavisi, iğrenç çürüklerden kurtulup, çürüyen pis :) dişimizin yerine , yenisini çıkartabileceğiz. http://www.odontis.co.uk/ adresinden detaylar öğrenilebilir.</description><link>http://selcukyazar.blogspot.com/2006/07/regenerative-dentistry.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-114416959115699993</guid><pubDate>Tue, 04 Apr 2006 16:53:00 +0000</pubDate><atom:updated>2006-04-04T19:53:11.156+03:00</atom:updated><title>Sıradaki Şarkıyı Kankama Gelsin.</title><description>Kral tv gençliğinin mottosu olsun bu. öneriyorum buradan.adamlar 6 kelimelik bir cümlenin başıyla sonundaki zaman, şahıs ve diğer herşeyi nasıl bu kadar anlamsız hale getiriyorlar anlamıyorum.Ya da cep telefonlarını spellchecker falan yazalım hizmet olsun.</description><link>http://selcukyazar.blogspot.com/2006/04/sradaki-arky-kankama-gelsin.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-114416918046294367</guid><pubDate>Tue, 04 Apr 2006 16:46:00 +0000</pubDate><atom:updated>2006-07-15T21:37:04.493+03:00</atom:updated><title>Forms Reports Services on Redhat EL4</title><description>iki ayımı vererek, üzerinde türlü hileler denediğim ve şu an sağlıklı şekilde çalıştırmayı başardığım OracleAS FormsReports servisi, en nihayetinde , oracle&#39; dan aldığım destekle de PDF raporlarımı da türkçe çıkarmaya başladı.&lt;br /&gt;$ORACLE_HOME/guicommon/tk90/admin altında bulunan dosyalarda çeşitli varyasyonları deneyerek çözümü bulduk.Oracle&#39; ın en güzel tarafı bütün konfigürasyonun text tabanlı dosyalarla yapılabiliyor olması. Ancak Reports designer&#39; ın Paper ve Web layout yapısını hala anlamadım. O yüzden raporları 6i da yapıp , 10g de kaydediyorum.(Ne kadar saçma) . En azından OWA üzerinde gelen maillerle kullanıcılar raporlarını , şifre ile alıp , isterce yazıcıdan çıktılarını alabiliyorlar.</description><link>http://selcukyazar.blogspot.com/2006/04/forms-reports-services-on-redhat-el4.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-113951372786254923</guid><pubDate>Thu, 09 Feb 2006 19:35:00 +0000</pubDate><atom:updated>2006-07-15T21:38:02.360+03:00</atom:updated><title>Invalid Parameter used, image from memory stream ... doh!</title><description>Geçenlerde, network kamera ile uğraşırken, .NET de İmage&#39;i MemoryStream&#39; e ,Memory stream &#39; i image &#39; e  çevirmeye çalıştığımda sürekli bu hatayı aldım.Daha doğrusu client-server mimarisinde işlem yapmaya çalışırken, resimleri networkten aktarmaya çalışıyordum.&lt;br /&gt;&lt;br /&gt;Network Cam ----&gt; TCP Server ------&gt; TCP Client&lt;br /&gt;&lt;br /&gt;Şeklinde çalışan bir sistemde, resim nasıl alacağız ? SocketClient a data geldiğinde bufferın boşalana kadar resim datasını byte byte okumayı denedim. O zaman sorunum çözüldü.&lt;br /&gt;&lt;br /&gt;Client:&lt;br /&gt;&lt;br /&gt;    String strMessage = System.Text.ASCIIEncoding.ASCII.GetString(pSocket.GetRawBuffer,0, pSocket.GetMessageLength); //&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;               if&lt;/span&gt; (strMessage.Length &gt; 0)&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;for&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;int &lt;/span&gt;g=0;g‹psocket.getmessagelength;g++)&lt;br /&gt;          {&lt;br /&gt;           &lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;                if&lt;/span&gt; (recv==0)&lt;br /&gt;          {&lt;br /&gt;          data[g]=pSocket.GetRawBuffer[g];&lt;br /&gt;                                      }&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;                else&lt;/span&gt;&lt;br /&gt;          {&lt;br /&gt;          data[pos]=pSocket.GetRawBuffer[g];&lt;br /&gt;          }&lt;br /&gt;          pos+=1;&lt;br /&gt;          }&lt;br /&gt;          recv += 1;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;                MemoryStream&lt;/span&gt; str = new &lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;MemoryStream&lt;/span&gt;(data);&lt;br /&gt;                              c = Image.FromStream(str);&lt;br /&gt;              &lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;if&lt;/span&gt; (pSocket.GetMessageLength ‹ pSocket.GetSizeOfRawBuffer)&lt;br /&gt;this.p1.Image  =c;             &lt;br /&gt;              }                               &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;server :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;string&lt;/span&gt; sURL = &quot;http://&quot;+strMessage.Trim();&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;string&lt;/span&gt; t =&quot;&quot;;                                   &lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;for&lt;/span&gt;(&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;int &lt;/span&gt;j=0;j&amp;#8249; sURL.Length;j++)&lt;br /&gt; if (s!=&quot;\0&quot;)                      &lt;br /&gt;{                          &lt;br /&gt;s=sURL.Substring(j,1);                                t+=s;                                                    &lt;br /&gt;}&lt;br /&gt;}                                         &lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;WebRequest &lt;/span&gt;request;                                              &lt;br /&gt;request = WebRequest.Create(t);                  &lt;br /&gt;request.Credentials = new NetworkCredential(&quot;root&quot;,&quot;root&quot;);                   &lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;Stream &lt;/span&gt;stream;                  &lt;br /&gt;stream = request.GetResponse().GetResponseStream();                                   &lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;StreamReader  &lt;/span&gt;reader = new StreamReader(stream);                                   &lt;br /&gt;try              &lt;br /&gt;{                  &lt;br /&gt;if(stream!= null)                  &lt;br /&gt;{                      &lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;Image &lt;/span&gt;img = Image.FromStream(stream);&lt;br /&gt;//img.Save(@&quot;C:\test1.jpg&quot;, System.Drawing.Imaging.ImageFormat.Jpeg);                      &lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;Byte&lt;/span&gt;[] b = new Byte[0];                      &lt;br /&gt;b = convertImageToByte(img);                      &lt;br /&gt;pSocket.Send(b);                   &lt;br /&gt;}              &lt;br /&gt;}&lt;br /&gt;catch              &lt;br /&gt;{              &lt;br /&gt;}  &lt;/span&gt;</description><link>http://selcukyazar.blogspot.com/2006/02/invalid-parameter-used-image-from.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-113924423628951754</guid><pubDate>Mon, 06 Feb 2006 16:43:00 +0000</pubDate><atom:updated>2006-04-05T09:57:20.673+03:00</atom:updated><title>LEADTOOLS HylaFax</title><description>Piyasada fax göndermek için bir çok fax sunucu yazılımı var. çoğuda paralı. Ama bir de HylaFax varmış. Hem beleş, hemde linuxda çalışan harika bir yazılım.Yaz ortasında , C#, LeadTools ve HylaFax , PdfCreator dörtlüsüyle güzel bir proje gerçekleştirdik.&lt;br /&gt;&lt;br /&gt;Web üzerinde ve desktop tan  hem tarayıcıdan hemde word belgesi ya serbest yazıyla fax gönderilmisini sağlayan bir otomasyon kurduk.&lt;br /&gt;&lt;br /&gt;Web tabanlı uygulama ve bir web servisiyle , kullanıclar word belgelerini server a atıp, orda Word objects kullanarak dökümanlarını pdf çevirip , fax gönderebiliyorlar. Aslında biraz karışık bir sistem.HylaFax ınçalışıtığı makinayla web servisin çalıştığı maki arasında samba ile mapping var. Word dosyaları burada PdfCreatorle pdf e çevrildikten sonra , oracle üzerinde shel komutu çalıştırarak fax mesajlarını gönderiyorlar. Taracıyı kısmında Twain datasını image olarak kaydedip leadtools u kullanara FaxTiff e çevirip yine aynı şekilde fax mesajları gönderiliyor.&lt;br /&gt;&lt;br /&gt;Bu sistemle bugüne kadar 10.000 üzerinde fax çekilmiş durumda.</description><link>http://selcukyazar.blogspot.com/2006/02/leadtools-hylafax.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-113924126709467274</guid><pubDate>Mon, 06 Feb 2006 15:53:00 +0000</pubDate><atom:updated>2006-02-06T18:42:59.320+02:00</atom:updated><title>DYMO ve 20000 etiket</title><description>Geçen sene kurum içinde kullanılmak üzere geliştirdiğim demirbaş otomasyonunda kullandığımız DYMO LM450 ile yaklaşık olarak 20000 adet etiket başmışız. Geçen hafta arıza için servise gönderdiğimizde , artık printer için bir şey yapılamayacağını söylemişler.&lt;br /&gt;&lt;br /&gt;Dymo LM450 nin özelliği,  desktop için kullnılan , klavyesi de olan, istenilen datayı kendi etiketlerine basabilmesi.&lt;br /&gt;&lt;br /&gt;Demirbaş uygulamasında en büyük problem etiketin uzunluğu ayarlabilmek ve yazıcının düşük özellikli termal başlığından barkod ve resim basabilmekti.&lt;br /&gt;&lt;br /&gt;         &lt;span style=&quot;color: rgb(102, 102, 204);&quot;&gt;Brush &lt;/span&gt;br = &lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;SolidBrush&lt;/span&gt;(Color.&lt;span style=&quot;color: rgb(255, 102, 102);&quot;&gt;Black&lt;/span&gt;);&lt;br /&gt;         if (m_change_settings)&lt;br /&gt;         {&lt;br /&gt;             &lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;EtiketPrinterSettings &lt;/span&gt;sd = new &lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;EtiketPrinterSettings&lt;/span&gt;();&lt;br /&gt;             &lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;PrinterData &lt;/span&gt;pss  = new &lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;PrinterData&lt;/span&gt;();&lt;br /&gt;      &lt;br /&gt;             pss.&lt;span style=&quot;color: rgb(255, 102, 102);&quot;&gt;Duplex &lt;/span&gt;= PageDuplex.DMDUP_SIMPLEX;&lt;br /&gt;             pss.&lt;span style=&quot;color: rgb(255, 102, 102);&quot;&gt;Size &lt;/span&gt;= PaperSize.DMPAPER_USER;&lt;br /&gt;             pss.&lt;span style=&quot;color: rgb(255, 102, 102);&quot;&gt;source &lt;/span&gt;= PaperSource.DMBIN_FORMSOURCE;&lt;br /&gt;             pss.&lt;span style=&quot;color: rgb(255, 102, 102);&quot;&gt;Orientation &lt;/span&gt;= PageOrientation.DMORIENT_LANDSCAPE;&lt;br /&gt;             sd.&lt;span style=&quot;color: rgb(255, 102, 102);&quot;&gt;MyEtiketUzunluk &lt;/span&gt;= m_e_uz;&lt;br /&gt;             sd.&lt;span style=&quot;color: rgb(255, 102, 102);&quot;&gt;MyEtiketWidth &lt;/span&gt;= m_e_w;&lt;br /&gt;             sd&lt;span style=&quot;color: rgb(51, 204, 0);&quot;&gt;.ChangePrinterSetting(&lt;/span&gt;m_PrinterName,pss);&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;if (&lt;span style=&quot;color: rgb(255, 102, 102);&quot;&gt;m_show_image&lt;/span&gt;)&lt;br /&gt;         {&lt;br /&gt;&lt;br /&gt;             &lt;span style=&quot;color: rgb(51, 102, 255);&quot;&gt;Bitmap &lt;/span&gt;bmp = new Bitmap(&quot;amblem.bmp&quot;);&lt;br /&gt;             g.DrawImage(bmp, 0, 0 , 50, 50);&lt;br /&gt;&lt;br /&gt;             g.DrawString( m_Header , m_PrintFont, br, 40, 0);&lt;br /&gt;             g.DrawString( &quot;*&quot; + m_BarcodeData +&quot;*&quot;  , m_BarcodeFont, br, 52, 10);&lt;br /&gt;             //g.DrawString( &quot;*&quot; + m_BarcodeData +&quot;*&quot;  , m_BarcodeFont, br, rfet);&lt;br /&gt;          }&lt;br /&gt;         else&lt;br /&gt;         {&lt;br /&gt;             g.DrawString(m_Header , m_PrintFont, br, 5, 5);&lt;br /&gt;             m_BarcodeFont = new Font(&quot;CarolinaBar-25F2&quot;, 10);&lt;br /&gt;             g.DrawString( &quot;*&quot; + m_BarcodeData +&quot;*&quot;  , m_BarcodeFont, br, 10, 13);&lt;br /&gt;             if(m_ShowHumanReadable)&lt;br /&gt;             {&lt;br /&gt;                 g.DrawString(m_label_info, m_PrintFont, br, 5, 40);&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;yordamıyla standart graphics işlemlerini kullanrak printerdan çıktıları alıyorum.  Buradaki EtiketPrinterSettings nesnesi intenet ve microsofta bulunabilen standart winspool.drv implementasyonu. Etiket boyuda standar DEVMODE içinde tanımlı değişkenlerden ayarlanabiliyor.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://global.dymo.com/img/compel/_7p5vK3vOpy0X82JnQH_4PUCfkZrC_nv.jpg&quot; /&gt;</description><link>http://selcukyazar.blogspot.com/2006/02/dymo-ve-20000-etiket.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-113778310403756500</guid><pubDate>Fri, 20 Jan 2006 18:48:00 +0000</pubDate><atom:updated>2006-01-20T20:51:44.076+02:00</atom:updated><title>Tutsak ©</title><description>&lt;img src=&quot;http://storage.msn.com/x1picyx25Wo3c8Iob_jOfFN1dB-mwo45YAmXXGILGSuISl6oG1cM0s_OywnBCiu7yJByMte3nL_yTBzS6sWHNL3HXJxw-v-2pGG4pwY1IHkpONpSodwwzkBVrLn6kKzeW8-&quot; border=&quot;0&quot; height=&quot;150&quot; width=&quot;200&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Büyük ihitmalle bu yıl içinde , üzerinde 4 yıldır çalıştığımız, grafik novel &quot;tutsak&quot; piyasada olacak.</description><link>http://selcukyazar.blogspot.com/2006/01/tutsak.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-113777904741868562</guid><pubDate>Fri, 20 Jan 2006 17:43:00 +0000</pubDate><atom:updated>2006-01-20T20:08:18.830+02:00</atom:updated><title>Oracle Lite9i</title><description>Eski projeleri anlatmaya devam.&lt;br /&gt;&lt;br /&gt;2002 yılında Türkiye&#39;de oracle lite9i ile yapılmış proje ve oracle &#39;ın elinde bu işle ilgili referans yoktu. İpragaz, bayilerine yönelik olarak başlattığı CRM uygulamasını sahada takip etmek istiyordu. ve bu işi mobil cihazlarla yapmak istiyordu&lt;br /&gt;&lt;br /&gt;Uygulama, DMZ üzerinde çalışan webtogo server müşteri verilerini , kişi , bölge, görev özelliklerine göre içerdeki &lt;span style=&quot;font-weight: bold;&quot;&gt;SAP&lt;/span&gt; den alarak &lt;span style=&quot;font-weight: bold;&quot;&gt;GPRS&lt;/span&gt; modemli &lt;span style=&quot;font-weight: bold;&quot;&gt;EG800&lt;/span&gt; lere indiriyor ve buradan da gerekli işlemleri yapılmasını sağlıyordu.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://i.mobileplanet.com/i/l/l117274.jpg&quot; border=&quot;0&quot; /&gt;</description><link>http://selcukyazar.blogspot.com/2006/01/oracle-lite9i.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-113639838963595985</guid><pubDate>Wed, 04 Jan 2006 18:13:00 +0000</pubDate><atom:updated>2006-01-20T19:42:31.933+02:00</atom:updated><title>MAP Basic &amp; Trimble</title><description>Bundan bir iki ay önce , gazetelerde sayısal harita üzerinden GPS kullanarak, kişilerin kendi araçlarını takip etmesini sağlayan bir ürünün reklamları vardı. 2000 yılında , &lt;span style=&quot;font-weight: bold;&quot;&gt;MapBasic&lt;/span&gt; ve &lt;span style=&quot;font-weight: bold;&quot;&gt;Trimble CrossCheck&lt;/span&gt; ürünlerini kullanarak, sadece yazılım geliştirme masrafı olan, küçük işletmelerin kullanacağı, internet üzerinden araç ya da benzeri hareketli cihazların takip edilmesini sağlayan bir sistem geliştirmiştim.&lt;br /&gt;&lt;br /&gt;  MapBasic , visual basic&#39; e çok benzeyen bir dil. MapInfo tarafından oluşturulmuş, sayısal harita altlıklarını kullanarak , &lt;span style=&quot;font-weight: bold;&quot;&gt;GIS&lt;/span&gt; uygulamaları gelişrilimesini sağlıyor.&lt;br /&gt;&lt;br /&gt; Kurduğum sistemde, Trimble &#39;ın ürünü olan CrosCheck GSM ünitesi araçta bulunuyordu. CCGSM adından da anlşıldığı gibi, GPS verilerini işleyerek bunları, belirli bir GSM alıcısna gönderen bir modül. Ancak üzerinde, hızlimiti , bölge sınırlaması, alarm sinyali, ve diğer data girişleriyle ilgili kurallar belirleyeyer tetikleme yapılabiliyor.&lt;br /&gt;&lt;br /&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;Tekfen bank&lt;/span&gt; a kurduğumuz demoda, ve web üzerinden çalışan uygulamada, araçtan gelen koordinat bilgileriyle (burada UTM koordinatları ile ilgili çevrim yapmak gerekiyor) aracın adres bilgisi bulunarak,  belirli periyodlarla, araç konumunu gösteren harita snaphot&#39; ı kaydediliyordu böylece, periyodlar halinde aracında adresi ve haritadaki konumu öğrenilebiliyordu. Normalde ArcGIS ve MapExtrme gibi ürünlere 50K 60K $ civarında bir bedel ödenirken, bu sistemle sadece MapBasic ve Sayısal harita bedeli ödenerek küçük ölçekli bir GIS platformuna sahip olunabilyordu. Tabi iş burada pazarlamacılara kalıyor.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://sozluk.sourtimes.org/&quot;&gt;&lt;/a&gt;</description><link>http://selcukyazar.blogspot.com/2006/01/map-basic-trimble.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-110509878981703248</guid><pubDate>Fri, 07 Jan 2005 11:46:00 +0000</pubDate><atom:updated>2005-01-07T14:04:25.500+02:00</atom:updated><title></title><description>&lt;img src=&quot;http://www.eclipse.org/images/EclipseBannerPic.jpg&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;strong&gt;Eclipse Kullanıcıları Türkiye Mail Grubu açıldı.&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;Bu hafta itibariyle 20 kadar üyemiz oldu, Eclipse_tr olarak amacımız eclipse ortamını kullanarak, ortak bir değer yaratmak gerekirse bunu yayın, yazılım ,eğitim gibi bir içerik altında birleştirmek.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;</description><link>http://selcukyazar.blogspot.com/2005/01/eclipse-kullanclar-trkiye-mail-grubu.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-110508798363805180</guid><pubDate>Fri, 07 Jan 2005 08:10:00 +0000</pubDate><atom:updated>2005-01-07T10:53:03.636+02:00</atom:updated><title>Casio IT-500 çözümleri.</title><description>  Bir kaç haftadır CASIO IT-500 ün M30CR modeli  ile uygulama geliştiriyorum, gerek internetteki kaynak yetersizliği, gerekse çözüm üretenlerin az olmazı sebebiyle oldukça zorlandım. Compact framework ile ilgili gerekli dökümanların yetersiz olması sebebiyle özellikle kamera ve Barkod okuma ile ilgili bilgi bulmak zor. Ayrıca kendi örneklerinde EVC++ 4.0 örnekleri mevcut.&lt;br /&gt;  Kamera kullanımında en önemli ayrıntı FormHandle işlemiyle ilgili , C++ örneklerinde kamera önizlemesinin yapılacağı formun handle &#39;ı nın kullanmak gerektiği gözüküyor.&lt;br /&gt;&lt;br /&gt;case WM_INITDIALOG:  &lt;br /&gt;&lt;span style=&quot;color:#33cc00;&quot;&gt;// trying to center the About dialog&lt;/span&gt;  &lt;br /&gt;if (GetWindowRect(hDlg, &amp;rt1)) {&lt;br /&gt;    GetClientRect(GetParent(hDlg), &amp;rt);&lt;br /&gt;    DlgWidth = rt1.right - rt1.left;&lt;br /&gt;    DlgHeight = rt1.bottom - rt1.top ;&lt;br /&gt;    NewPosX  = (rt.right - rt.left - DlgWidth)/2;&lt;br /&gt;    NewPosY  = (rt.bottom - rt.top - DlgHeight)/2;&lt;br /&gt;&lt;span style=&quot;color:#33cc00;&quot;&gt; // if the About box is larger than the physical screen&lt;/span&gt;    &lt;br /&gt;    if (NewPosX &lt; 0) NewPosX = 0;&lt;br /&gt;    if (NewPosY &lt; 0) NewPosY = 0;   &lt;br /&gt;   SetWindowPos(hDlg, 0, NewPosX, NewPosY,     0, 0, SWP_NOZORDER  SWP_NOSIZE);   &lt;br /&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;CAMOpen();&lt;/span&gt;   &lt;br /&gt;&lt;span style=&quot;color:#3366ff;&quot;&gt;CAMStartPreview(&lt;strong&gt;hDlg&lt;/strong&gt;,12,75,&lt;span style=&quot;color:#990000;&quot;&gt;CAM_1PER9VGA&lt;/span&gt;);&lt;/span&gt;  &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Ancak burada C# implemantosyonu olan&lt;br /&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;[DllImport(&quot;CoreDll&quot;)]  public static extern IntPtr FindWindow( string className, string WindowsName);&lt;/span&gt;&lt;br /&gt;fonksiyon doğru handle ı döndürmüyor. Halbuki dökümanlarda FindWindow ve GetActiveWindow, GetDesktopWindow, GetForegroundWindow fonksiyonlarının doğru HWND değerini dödürdüğü yazıyor.&lt;br /&gt; Casio da kullanılacak gerçek fonksiyonu&lt;br /&gt;&lt;span style=&quot;color:#3366ff;&quot;&gt;[DllImport(&quot;coredll.dll&quot;)]  public static extern IntPtr GetForegroundWindow();&lt;/span&gt;&lt;br /&gt;Olarak değiştirince kamera sağlıklı biçimde kullanılıyor.&lt;br /&gt;&lt;br /&gt;   Benzer şekilde Barkod okuma içinde kaynak çok sınırlı.&lt;br /&gt;Form KeyDown event inde&lt;br /&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;iRet = LCUDRV.OBRGets(buff,ref Barcode,ref dwLeng);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#000000;&quot;&gt;ile okuyucu buffer ı alınarak , &lt;/span&gt;&lt;br /&gt;Encoding.ASCII.GetString(buff,0,buff.Length);&lt;br /&gt;kullanılarak okunan bilgi alınıyor. burada buffer[1024] boyutlarında.&lt;br /&gt;&lt;br /&gt;   Genel olarak Cihaz iyi çalışıyor ve isteklere iyi cevap veriyor. Daha detaylı bilgi almka isteyen benimle irtibata geçebilir.&lt;br /&gt;</description><link>http://selcukyazar.blogspot.com/2005/01/casio-it-500-zmleri.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9442492.post-110206687740100278</guid><pubDate>Fri, 03 Dec 2004 09:35:00 +0000</pubDate><atom:updated>2006-04-05T09:56:02.333+03:00</atom:updated><title>Oracle &#39; da içiçe prosedür oluşturma.</title><description>ODP.NET ve C# kullanırken karşılaştığım bir problem var. ODP.NET sadece ref cursor yapısını destekliyordu. Ancak yazdığım uygulamada ; bir departmandaki kişinin birden fazla dahili telefon numarası olabiliyordu.&lt;br /&gt;&lt;br /&gt;Çözümü Refcursor ile recordseti döndürüken, bu set içindeki bir column&#39; da CLOB yada VARCHAR2 tipinde bir fonkisyon içinde getirerek buldum.</description><link>http://selcukyazar.blogspot.com/2004/12/oracle-da-iie-prosedr-oluturma.html</link><author>noreply@blogger.com (Selçuk Yazar)</author><thr:total>0</thr:total></item></channel></rss>