انجمن‌های فارسی اوبونتو

تازه کار => انجمن تازه‌کاران => نویسنده: حمیدرضا در 12 تیر 1388، 10:14 ب‌ظ

عنوان: آنتی ویروس
ارسال شده توسط: حمیدرضا در 12 تیر 1388، 10:14 ب‌ظ
سلام

برای اوبونتو آیا اصلا احتیاجی به آنتی ویروس یا پکیج های امنیتی هست ؟ اگر هست چه پیشنهاد هایی دارید من تو ویندوز که با eset smart خیلی راحتم!

ممنون
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: pedrambehroozi در 12 تیر 1388، 10:51 ب‌ظ
خب تا جایی که من می دونم واسه لینوکس کلا دو تا ویروس هست! ‌Bliss1 و  2Staog که البته دومی کلا منسوخ شده، اولیم خیلی دوام نمیاره ;D ولی بد نیست روی لینوکس یه آنتی ویروس داشته باشی، ممکنه بخوای فلشتو بدی به یه نفر که ویندوز داره، ممکنه از قبل روش ویروس مونده باشه! یا میتونی باهاش پارتیشن ویندوزتو اسکن کنی.
من BitDefender دارم، بد نیست (البته تاحالا ازش استفاده نکردم ;) ). همین الان خوندم که Kaspersky هم نسخه لینوکس داده. یه سرچ تو گوگل بزنی یه آنتی ویروس خوب گیر میاری.
موفق باشی

1- http://en.wikipedia.org/wiki/Bliss_%28virus%29
2- http://en.wikipedia.org/wiki/Staog
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: sudotux در 12 تیر 1388، 11:05 ب‌ظ
لطفا قبل از ایجاد تاپیک جدید حتما در انجمن جستجو کنید.

http://forum.ubuntu.ir/index.php/topic,3559.0.html
http://forum.ubuntu.ir/index.php/topic,7834.0.html
http://forum.ubuntu.ir/index.php/topic,8765.0.html
http://forum.ubuntu.ir/index.php/topic,8008.0.html
http://forum.ubuntu.ir/index.php/topic,9916.0.html
http://forum.ubuntu.ir/index.php/topic,6632.0.html
http://forum.ubuntu.ir/index.php/topic,6619.0.html
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: حمیدرضا در 13 تیر 1388، 01:41 ق‌ظ
ولی چیزی راجع به فایروال پیدا نکردم!
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: ahmed در 13 تیر 1388، 10:36 ق‌ظ
من از وقتی که لینوکس کار می کنم، نه فایروال لینوکسی نصب کردم نه آنتی‌ویروس ;)

ولی چیزی راجع به فایروال پیدا نکردم!

من جست و جو کردم و شاید به درد شما هم بخوره:
http://forum.ubuntu.ir/index.php/topic,9382.0.html (http://forum.ubuntu.ir/index.php/topic,9382.0.html)
http://forum.ubuntu.ir/index.php/topic,4651.0.html (http://forum.ubuntu.ir/index.php/topic,4651.0.html)
http://forum.ubuntu.ir/index.php/topic,1548.0.html (http://forum.ubuntu.ir/index.php/topic,1548.0.html)
http://forum.ubuntu.ir/index.php/topic,8539.0.html (http://forum.ubuntu.ir/index.php/topic,8539.0.html)
http://forum.ubuntu.ir/index.php/topic,7461.0.html (http://forum.ubuntu.ir/index.php/topic,7461.0.html)
http://forum.ubuntu.ir/index.php/topic,5795.0.html (http://forum.ubuntu.ir/index.php/topic,5795.0.html)
http://forum.ubuntu.ir/index.php/topic,3784.0.html (http://forum.ubuntu.ir/index.php/topic,3784.0.html)

باز هم می‌گم که یک کاربر خانگی لینوکس اصلا احتیاجی به آنتی‌ویروس و فایروال نداره! حالا انتخاب با خودتونه ;)
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: جادی در 13 تیر 1388، 02:31 ب‌ظ
خب بذار من هم یک تبلیغ بفرستم... لینوکس هم ویروس دارد: http://jadi.undo.it/spip.php?article417
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: Armageddon در 13 تیر 1388، 11:40 ب‌ظ
انتی ویروس رو برای جابجایی فلش است اما فایروال لازمه که خود اوبونتو داره می تونی از طریق خط فرمان یا یه برنامه گرافیکی فعالش کنی مثل gufw و Firestarter و http://linux-firewall.org/  و .. که با جستجو برنامه های گرافیکی رو میتونی تو تاپیک ها پیدا کنی


اما از نسخه های لینوکسی آنتی ویروسهایی مثل زیر استفاده کن
نقل‌قول
AVG Linux Free Edition
avira
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: ریچارد استالمن بزرگ! در 13 اسفند 1388، 01:43 ب‌ظ
سلام به شما
یه کول دیسک دارم که یه ویرووس داره به اسم زولاندر (Zolander) که یه پوشه ساخته که داخلش هم یه فایل box.exe هست . هر کاریش می کنم نه به ترش می ره و نه پاک میشه . وقتی هم میخوام کول دیسک رو فرمت کنم می گه پرمیژن فقط خواندنی هست و نمی شه عوضش کرد! تقریبا تمام آنتی ویرووس های معروف رو هم روش امتحان کردم
خوشحال می شم اگر اطلاعاتی در این باره در اختیارم بگذارید.
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: مهدی... در 13 اسفند 1388، 02:29 ب‌ظ
سلام
با دستور cd وارد کول دیسک بشو
cd /media/نام کول دیسک بعد با دستور زیر اونو پاک کن...
sudo rm -R zolander
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: heresh در 13 اسفند 1388، 07:48 ب‌ظ
خب بذار من هم یک تبلیغ بفرستم... لینوکس هم ویروس دارد: http://jadi.undo.it/spip.php?article417
خطا ۴.۴ میده، خواستم بروم تو کار دود اینا ولی گفتم عیب نداره این بار رو بی‌خیال
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: ریچارد استالمن بزرگ! در 14 اسفند 1388، 02:18 ق‌ظ
مهدی جان سلام از بندست
این کار رو کردم اما بازهم میگه فایل سیستمی هست و نمی شه پاکش کرد!
ببینم مگه اصلا فایل های سیستمی رو نمی شه پاک کرد؟
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: مهدی... در 15 اسفند 1388، 09:26 ق‌ظ
سلام
با دستور chmod دسترسیش رو بکن ۷۷۷ احتمالا مشکلت حل میشه...
sudo chmod -R 777 zolander
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: ریچارد استالمن بزرگ! در 20 اسفند 1388، 11:04 ب‌ظ
سلام مهدی جان
نشد! و دمار از روزگار کامپیوترم در آورد! به نظر می رسه از روی خودش داره توی کامپیوترم رونویسی هم میکنه. یه آنتی ویروس بیت دفندر نصب کردم روی سیستم ، که می شناسدش اما نمی تونه پاکش کنه.
یه پوشه به اسم .trash999 و لنگه همین با عدد هزار هم توی تمام پوشه هام پیدا شدن که مخفی هستن و هرچی پاکشون می کنم دوباره ایجاد می شن اما نمی دونم ویروس هستن یا فایل سیستمی!؟ البته مطمئنم این ها رو اگر ویروس باشن از جای دیگری نگرفتم چون در اینترنت فقط در سایت های مطمئن رفتم و حتی سی دی هم به کامپیوتر وارد نکردم
نگرانم یه وقت همین قفل شدن و پاک نشدن رو با کامپیوترم پیاده نکنه ???
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: ریچارد استالمن بزرگ! در 29 فروردین 1389، 09:02 ب‌ظ
سلام ، مجددا به دوستان
داستان من و اون کول دیسک حل نشد هیچ یک کول دیسک دیگه هم تلفات دادم. برای یاداوری مجددا بگم که دو تا از کول دیسک های من به یه ویرووسی آلوده شدن که پرمیژن فایل های موجود در کول دیسک رو به 644 تغییر داده و به هیچ وجه نمی شه پاکشون کرد.
این یه نسخه از َکرم Aoutorun.inf در محیط ویندوز هست که من از محیط ویندوزی وام گرفته ام - و قبلا نمی دونستم - ولی توی لینوکس هم نمی شه پاکش کرد و البته با هیچ آنتی ویرووسی هم! ](*,)
علت پاک نشدنش دو خط کد هست که داخل این فایل هست که اونو فایل شل معرفی می کنه و به این ترتیب قدرت عوض کردن پرمیژن را از کاربر میگیره. در محیط ویندوزی هم کاربر را به یک فایل اجرائی که در یک پوشه که خودش ساخته می فرسته که یک کرم با سرعت زیادی شروع به تکثیر می کنه.
به این ترتیب عملا کول دیسک های من دیگه بدرد نمی خورن.
اما غرض از مزاحمت:
چطوری میشه یک فایل کرنل رو توی خود محیط لینوکس در حال اجرا  ، دست کاری و احیانا پاک کرد؟ ;D
اگر این کار عملی باشه و بشه یه کاری کرد که لینوکس در حال اجرا یه دفعه ناقص بشه و کرش کنه ، این دقیقا مشکل منو حل میکنه. یعنی با کمک اون میتونم این فایل رو پاک کنم وقتی که سیستم اونو فایل سیستمی می شناسه.
دوستان هم اکنون نیازمند یاری سبزتان هستیم! انجمن ...
نه این مال جای دیگه بود!
دوستان به من فقیر عاجز مستمند کمک کنید!
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: مهدی... در 29 فروردین 1389، 09:41 ب‌ظ
سلام
با اجازه بزرگترا من یه راه حل پیدا کردم اما  :-X :-X :-X :-X
اجازه هست؟؟ ???
سیستم عامل  :-X :-X«پنجره ها»  :-X ](*,) :-X رو در حالت safe mode بالا بیار اونوقت فلشت رو فرمت کن!! قبلا تست شده و جواب داده
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: heresh در 29 فروردین 1389، 10:08 ب‌ظ
نقل‌قول
علت پاک نشدنش دو خط کد هست که داخل این فایل هست که اونو فایل شل معرفی می کنه و به این ترتیب قدرت عوض کردن پرمیژن را از کاربر میگیره.
نفهمیدم؟ یعنی فایل‌های شل رو نمی‌شه دسترسی‌شون رو تغییر داد؟ اسم ویروس چیه؟ اگه همچین کاری می‌تونه بکنه پس باید ویروس معروفی باشه
اگه راه‌های زیادی برای پاک کردنش یا تغییر دسترسی‌اش امتحان کردی و موفق نشدی یه جایی آپلودش کن تا ما هم دانلودش کنیم و سربه سرش بزاریم
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: ریچارد استالمن بزرگ! در 31 فروردین 1389، 02:19 ق‌ظ
سلام به همه
مهدی جان با safe mode اون پناجره ;D هم همین داستان هست و نه پاک میشه و نه فرمت! حتی رمووال کسپر رو هم توی حالت سیف مد روش پیاده کردم و نتونست پاکش کنه.
heresh جان عزیزم
چشم این کار رو می کنم منتها الان محل کارم هستم و اینجا اجازه نصب لینوکس روی سیستم ها رو ندارم و به همین دلیل  (و البته دلایل دیگر مثل مودم یو اس بی و غیره ) نمی تونم با لینوکس آن بشم ولی به مجرد رسیدن به خانه بروی چشم
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: ریچارد استالمن بزرگ! در 31 فروردین 1389، 03:43 ب‌ظ
heresh جان عزیزم
این هم لینک دانلودش:

http://www.divshare.com/download/11110699-b64

البته یه فولدر 50 مگابایتی هم به نام Nader داخل کول دیسک هست که آهنگ داخلشه و منبع این ویروس از داخل این آهنگ هاست اما گذاشتنش رو بی فایده دیدم.
نکته اینکه این کرم فقط داخل کول دیسک کار میکنه و روی هارد براحتی قابل پاک شدن هست. اما تو و دوستی خدا را حتی برای شوخی هم اونو روی کول دیسک کسی نریز! ما مردم فقیری هستیم و این روزها برای خیلی هامون قیمت یه کول دیسک هم خیلیه و واقعا اعصاب ازمون می گیره.
اما بررسیش کن و ببین چقدر ساده و چقدر هوشمندانه نوشته شده
برای پاک کردنش هم راهی به نظرت رسید ما رو هم بی نصیب نذار
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: heresh در 31 فروردین 1389، 06:00 ب‌ظ
عزیز همشون که با Shift+Del پاک شدن!
مطمئنی فلاش تو مشکل نداره؟
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: ریچارد استالمن بزرگ! در 01 اردیبهشت 1389، 12:31 ق‌ظ
heresh عزیز
نه کول دیسک سالمه و کرمه هم خیلی سمجه منتها روی هارد کاری نمی کنه. اما دوتا از کول دیسک های من دقیقا همین مشکل رو دارن و اونها رو پیش خیلی از بچه های برنامه نویس و آشنا به مسائل لینوکسی و ویرووس بردم که نتونستن کاری بکنن. دانیال توی بخش برنامه نویسی همین فروم با این نوع کرم ها آشناست و یه اسکریپت هم براش نوشته و داره زحمت تغییر دادن اونو برای این ویرووس خاص میکشه که خیلی امیدوارم جواب بده.
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: heresh در 01 اردیبهشت 1389، 09:20 ق‌ظ
من هم رو کول دیسکم کپی کردم ولی راحت پاک شد ::)
حالا که کول دیسک پیشم نیست و مال خودم هم انجوری نمی‌شه فک نکنم بتونم کمکی کنم.
ایشالا که مشکلت حل بشه.
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 07 تیر 1389، 10:48 ب‌ظ
من آنتی ویروس آویرا رو از سایتش دانلود کردم که بصورت فایل سورس هست

من بتازگی به جمع دوستان ابونتو  وارد شدم

ممنون میشم راهنمائیم کنید چجور میتونم این آنتی ویروس رو نصب کنم؟!!

کلاً هم زیاد سر در نیوردم از بحث نصب  نرم افزرا های  سورس

 :(

عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 10 تیر 1389، 12:29 ب‌ظ
چندر روزه منتظر جوابم  کسی جواب منو نمیده؟!!!!!!!  ???
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: eMan در 10 تیر 1389، 12:50 ب‌ظ
پسوند فایلی که دانلود کردی چیه ؟
,deb , .tar ؟
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 10 تیر 1389، 12:55 ب‌ظ
پسوند فایلی که دانلود کردی چیه ؟
,deb , .tar ؟


اصلاً اسم کاملش با پسوندش اینه:


antivir_workstation-pers.tar.gz
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: RCLord در 10 تیر 1389، 01:09 ب‌ظ
خوب . اول از حالت فشرده خارجش کن ؛ بعد :
./configure
make
sudo make install
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 14 تیر 1389، 09:31 ب‌ظ
خوب . اول از حالت فشرده خارجش کن ؛ بعد :
./configure
make
sudo make install


من اینکار رو انچام دادم

توی پوشه ای که از حالت فشرده خارجش کردم  ترمینال رو باز کردم و همین دستورات رو نوشتم

اما قبول نکرد!!

جوابش به ترتیب  اینجور بود:
bash: ./configure: No such file or directory

make: *** No targets specified and no makefile found.  Stop.

make: Nothing to be done for `install'.
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: eMan در 15 تیر 1389، 12:49 ق‌ظ
آقا احتمالا کد باینری هستش مثل Avast
شما با ترمینال برو به پوشه و خروجی دستور ls رو بگذار
یا با فایل منیجرت ( ناتیلوس یا دلفین یا ... ) برو به پوشه و ببین چه فایلها یا پوشه هایی اونجا هست
یک لیست از اسم ها بده تا بگم باید چطوری اسکن کنی  ;)
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 15 تیر 1389، 06:21 ق‌ظ
آقا احتمالا کد باینری هستش مثل Avast
شما با ترمینال برو به پوشه و خروجی دستور ls رو بگذار
یا با فایل منیجرت ( ناتیلوس یا دلفین یا ... ) برو به پوشه و ببین چه فایلها یا پوشه هایی اونجا هست
یک لیست از اسم ها بده تا بگم باید چطوری اسکن کنی  ;)

آقا من حرفه ای نیستم  ;D

اینهائی که گفتی یعنی چی؟!!
is چیه؟ دستورشو نمیدونم

عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 15 تیر 1389، 06:23 ق‌ظ
توی readme  اش  اینو نوشته:

 AntiVir Server Install-Package Directory


 install           <- install script
 LICENSE           <- Avira GmbH Software License Agreement

 doc/     <- documentation (handbook, manual, changelog)
 bin/     <- executable files
 vdf/     <- virus definition files
 legal/   <- 3rd-party licenses
 contrib/ <- 3rd-party software (dazuko, gnome-applet)

 etc/    <- configuration files
 script/ <- shell scripts
 smcpkg/ <- SMC-specific files



عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: heresh در 15 تیر 1389، 07:46 ق‌ظ
آقا احتمالا کد باینری هستش مثل Avast
شما با ترمینال برو به پوشه و خروجی دستور ls رو بگذار
یا با فایل منیجرت ( ناتیلوس یا دلفین یا ... ) برو به پوشه و ببین چه فایلها یا پوشه هایی اونجا هست
یک لیست از اسم ها بده تا بگم باید چطوری اسکن کنی  ;)

آقا من حرفه ای نیستم  ;D

اینهائی که گفتی یعنی چی؟!!
is چیه؟ دستورشو نمیدونم
is نه ls

یعنی ترمینال رو باز کن. بعد دستور ls رو بزن. حالا محتویات شاخه‌ای که ترمینال توش قرار داره رو تو خروجی  نشون می‌ده. تو حالت عادی ترمینال تو شاخه home کاربر قرار داره. با دستور cd می‌تونی یکی از پوشه‌های رو انتخاب کنی و ترمینال وارد اون پوشه بشه به این صورت که بنویسی cd بعدش یک فاصله بزار (space) و اسم پوشه مورد نظر رو می‌نویسی. بعد با زدن کلید Enter ترمینال وارد اون پوشه می‌شه. با دستور .. cd  هم به پوشه بالاتر می‌ره، همون کار دگمه up رو تو برنامه مدیریت فایل می‌کنه.
چند حرف از پوشه رو بنویسی بعد دگمه tab رو بزنی خودش اتوماتیک کاملش می‌کنه.
حالا با این روش برو به پوشه‌ای که از اینترنت گرفتی و دستور ls رو تو اون پوشه اجرا کن. خروجی رو تو پستت بزار. ما بهت می‌گیم کدوم فایل رو باید اجرا کنی.
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 15 تیر 1389، 07:51 ق‌ظ
این هم نتیجه اش:

ubuntu@ubuntu-desktop:~/Downloads/Avira/antivir-workstation-pers-3.1.3.4-1$ ls
AV_WKS_PERS  etc                 LICENSE           smcpkg
bin          hbedv_key           LICENSE.DE        uninstall
build.dat    install             README            uninstall_smcplugin.sh
contrib      install_list_guard  README.uninstall  vdf
doc          legal               script
ubuntu@ubuntu-desktop:~/Downloads/Avira/antivir-workstation-pers-3.1.3.4-1$
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: heresh در 15 تیر 1389، 08:15 ق‌ظ
برو تو پوشه bin فایل اجرایی باید اونجا باشه.
اگه کلیک کردی روش اجرا نشد،‌ روش کلیک راست کن بعد تو Propertise و تو قسمت اجازه دسترسی گزینه Execute رو تیک بزن بعد اجراش کن
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 15 تیر 1389، 08:19 ق‌ظ
توی پوشه bin  دوتا پوشه دیگه هست که هر کدوم شامل کلی فایل هست!!

 فایل اجرائی تو کدومیک از پوشه ها باید باشه؟ اسم یا پسوندش هست؟

نام پوشه ها اینهاست:

linux_glibc22


solaris_sparc


عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: heresh در 15 تیر 1389، 08:31 ق‌ظ
فایل اجرایی یا پسوند نداره یا اینکه آخرش sh. یا run. یا bin. و ... از اینجور چیزاست.
اینجور که پیداس فایل اجراییش نیست.
اگه اون installی که هست پوشه‌ است برو ببین توش چی هست و اگه فایل متنیه، متنش رو بزار تو پستت.
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 15 تیر 1389، 08:38 ق‌ظ
فایل اجرایی یا پسوند نداره یا اینکه آخرش sh. یا run. یا bin. و ... از اینجور چیزاست.
اینجور که پیداس فایل اجراییش نیست.
اگه اون installی که هست پوشه‌ است برو ببین توش چی هست و اگه فایل متنیه، متنش رو بزار تو پستت.


این توی پوشه اصلی آویرا و تو همون فایل اینستال که نوشتین بصورت متن :


#!/bin/sh
#
# Install AntiVir for UNIX
#
# Copyright (c) 2010 AVIRA GmbH
#

set_commands()
{
   case "${OS}" in
      sunos)
         ECHO="sh `pwd`/script/echo_sunos"
         GROUPADD="groupadd"
         ;;
      freebsd)
         ECHO="echo"
         GROUPADD="pw groupadd"
         ;;
      *)
         ECHO="echo"
         GROUPADD="groupadd"
         ;;
   esac
}


getDEV()
{
   case "${OS}" in
      freebsd)
         DEV="`kldstat | grep dazuko`"
         ;;
      sunos)
         DEV=`modinfo | grep ${DEVNAME}`
         ;;
      *)
         DEV=""
         if [ -f "/proc/devices" ]
         then
            DEV="`grep dazuko /proc/devices`"
         fi
         ;;
   esac
}


noop()
{
   if [ 0 -eq 1 ]
   then
      $ECHO "strange"
   fi
}


error_message()
{
   if [ "$PRODUCT" = "smcagent" ]
   then
      $ECHO "$1" >&2
   fi
}


check_copyfiles()
{
   MISSING_CPLIST=""

   for CPITEM in $CPLIST
   do
      if [ ! -f "$CPITEM" ]
      then
         MISSING_CPLIST="$MISSING_CPLIST $CPITEM"
      fi
   done

   if [ ! -z "$MISSING_CPLIST" ]
   then
      $ECHO " "
      $ECHO "Not all the installation files were found. Make sure"
      $ECHO "you have the complete installation package. This script"
      $ECHO "requires the following files:"
      for CPITEM in $MISSING_CPLIST
      do
         $ECHO "    $CPITEM"
         error_message "error: missing installation file $CPITEM"
      done
      $ECHO " "
      exit 1
   fi
}


check_yesno_input()
{
        INPUT="$2"
        INPUTRC=0
   if [ ! -z "$INPUT" ]
   then   # non-interactive mode, the input value is preset
      $ECHO -n "$1"
      $ECHO "$INPUT"
      case $INPUT in
         y|Y|yes|Yes|YEs|YES|yEs|yES)
            return 1
            ;;

         n|N|no|NO|nO|No)
            return 0
            ;;
      esac
   else         # query the user for the input value
           while [ $INPUTRC -eq 0 ]
      do
                   $ECHO -n "$1"
                   read INPUT
                   case $INPUT in
            y|Y|yes|Yes|YEs|YES|yEs|yES)
               INPUTRC=1
               return 1
               ;;

                           n|N|no|NO|nO|No)
               INPUTRC=1
               return 0
               ;;

            "")             # default answer
               INPUTRC=1
               return 2
               ;;

                           *)
               $ECHO "Invalid answer, please answer y/n"
               $ECHO ""
               ;;
                   esac
           done
   fi
}


findnewkey()
{
   FINDKEYCOUNT=""
   KEYBASENAME="avira"

   NEWKEY="$KEYBASENAME$FINDKEYCOUNT.key"

   while [ -f "$1/$NEWKEY" ]
   do
      if [ -z "$FINDKEYCOUNT" ]
      then
         FINDKEYCOUNT=2
      else
         FINDKEYCOUNT=`expr $FINDKEYCOUNT + 1`
      fi

      NEWKEY="$KEYBASENAME$FINDKEYCOUNT.key"
   done
}


check_executables()
{
   MISSING_EXELIST=""

   for EXEITEM in $EXELIST
   do
      if [ ! -x "`which $EXEITEM`" ]
      then
         MISSING_EXELIST="$MISSING_EXELIST $EXEITEM"
      fi
   done

   if [ ! -z "$MISSING_EXELIST" ]
   then
      $ECHO " "
      $ECHO "Not all the required tools were found. Please install"
      $ECHO "the following tools:"
      for EXEITEM in $MISSING_EXELIST
      do
         $ECHO "    $EXEITEM"
         error_message "error: missing required tool $EXEITEM"
      done
      $ECHO " "
      exit 1
   fi
}


find_backup()
{
   BACKUPNUMBER=0
   BACKUPFILE="${FILE_TO_BACKUP}.backup$BACKUPNUMBER"

   while [ -f "$BACKUPFILE" ]
   do
      BACKUPNUMBER=`expr $BACKUPNUMBER + 1`

      if [ $BACKUPNUMBER -eq 0 ]
      then
         return
      fi

      BACKUPFILE="${FILE_TO_BACKUP}.backup$BACKUPNUMBER"
   done
}


convert_version()
{
   set -- `$ECHO "${VERSION}" | sed 's/[^0-9]/\ /g'`

   MAJ=$1
   test $MAJ -eq 0
   if [ $? -gt 1 ]
   then
      MAJ=0
   fi

   MIN=$2
   test $MIN -eq 0
   if [ $? -gt 1 ]
   then
      MIN=0
   fi

   REV=$3
   test $REV -eq 0
   if [ $? -gt 1 ]
   then
      REV=0
   fi

   BLD=$4
   test $BLD -eq 0
   if [ $? -gt 1 ]
   then
      BLD=0
   fi

   VERSION=`expr $MAJ \* 1000000`
   TEMP1=`expr $MIN \* 10000`
   VERSION=`expr $VERSION + $TEMP1`
   TEMP1=`expr $REV \* 100`
   VERSION=`expr $VERSION + $TEMP1`
   VERSION=`expr $VERSION + $BLD`
}


compare_versions()
{
   # 0 = replace older version
   # 1 = do not replace same version
   # 2 = do not replace newer version
   # 3 = TOO new version (do not install)

   if [ $OLDVERSION -lt $NEWVERSION ]
   then
      return 0
   elif [ $OLDVERSION -eq $NEWVERSION ]
   then
      return 1
   elif [ $OLDVERSION -gt $NEWVERSION ]
   then
      if [ `expr $OLDVERSION / 10000` -gt `expr $NEWVERSION / 10000` ]
      then
         return 3
      fi

      return 2
   fi

   return 0
}


ldd_bin_check()
{
   LDD=`which ldd`
   if [ -x "$LDD" ]
   then
      for BINS_2_CHECK in avguard.bin avwebgate.bin avmailgate.bin agent ium
      do
         if [ -f "bin/$CLASSIFICATION/$BINS_2_CHECK" ]
         then
            case $BINS_2_CHECK in
               avguard.bin)
                  if [ "$CLASSIFICATION" = "solaris_sparc" ]
                  then
                     LIB_CHECK="`$LDD bin/$CLASSIFICATION/$BINS_2_CHECK | grep -v libgcc_s | grep -v libdazuko | grep -v libsavapi`"
                  else
                     LIB_CHECK="`$LDD bin/$CLASSIFICATION/$BINS_2_CHECK | grep -v libdazuko | grep -v libsavapi`"
                  fi
                  ;;
   
               avmailgate.bin)
                  if [ "$CLASSIFICATION" = "solaris_sparc" ]
                  then
                     LIB_CHECK="`$LDD bin/$CLASSIFICATION/$BINS_2_CHECK | grep -v libgcc_s | grep -v libasmailgate`"
                  else
                     LIB_CHECK="`$LDD bin/$CLASSIFICATION/$BINS_2_CHECK | grep -v libasmailgate`"
                  fi
                  ;;
   
               avwebgate.bin)
                  if [ "$CLASSIFICATION" = "solaris_sparc" ]
                  then
                     LIB_CHECK="`$LDD bin/$CLASSIFICATION/$BINS_2_CHECK | grep -v libgcc_s`"
                  else
                     LIB_CHECK="`$LDD bin/$CLASSIFICATION/$BINS_2_CHECK`"
                  fi
                  ;;
   
               agent)
                  if [ "$CLASSIFICATION" = "solaris_sparc" ]
                  then
                     LIB_CHECK="`$LDD bin/$CLASSIFICATION/$BINS_2_CHECK | grep -v libstdc++.so.5 | grep -v libstdc++.so.6 | grep -v libcommon`"
                  else
                     LIB_CHECK="`$LDD bin/$CLASSIFICATION/$BINS_2_CHECK | grep -v libcommon`"
                  fi
                  ;;
   
               ium)
                  LIB_CHECK="`$LDD bin/$CLASSIFICATION/$BINS_2_CHECK | grep -v libupdate | grep -v libcommon`"
                  ;;
            esac

            $ECHO $LIB_CHECK | grep "not a dynamic executable" > /dev/null 2>&1
            if [ "$?" -eq "0" ]
            then
               $ECHO " "
               $ECHO "It is not possible to install "$FULLPRODUCTNAME", because your system platform is not supported."
               $ECHO " "
               error_message "error: not supported system platform"
               exit 1
            fi

            $ECHO $LIB_CHECK | grep "not found" > /dev/null 2>&1
            if [ "$?" -eq "0" ]
            then
               $ECHO "Not all needed libraries were found on your system:"
               $ECHO "$LIB_CHECK"
               exit 28
            fi
         fi
      done
   fi
}


install_smcplugin()
{
   if [ ! -d "$AVDIR/agent" ]
   then
      avinstall -T "$AVDIR/agent" -u root -g "$PROGNAME" -m 755
      if [ $? -ne 0 ]
      then
         error_message "error: failed to create $AVDIR/agent"
         exit 1
      fi
   fi

   if [ ! -d "$AVDIR_BASE/agent" ]
   then
      avinstall -T "$AVDIR_BASE/agent" -u root -g "$PROGNAME" -m 755
      if [ $? -ne 0 ]
      then
         error_message "error: failed to create $AVDIR_BASE/agent"
      fi
   fi

   if [ -f "smcpkg/scanparameters.txt" ]
        then
      avinstall -f -S smcpkg -s scanparameters.txt -T "$AVDIR/agent" -u root -g "$PROGNAME" -m 755
   fi

   if [ "$CLASSIFICATION" = "linux_glibc22_x86_64" ]
   then
      LIBPLUGINSRC="lib$SMCPLUGINPREFIX.so.linux_glibc22"
   else   
      LIBPLUGINSRC="lib$SMCPLUGINPREFIX.so.$CLASSIFICATION"
   fi

   if [ ! -f "smcpkg/$LIBPLUGINSRC" -a ! -z "$FALLBACK_CLASSIFICATION" ]
   then
      LIBPLUGINSRC="lib$SMCPLUGINPREFIX.so.$FALLBACK_CLASSIFICATION"
   fi
   LIBPLUGINDST="lib$SMCPLUGINPREFIX.so"

   if [ -f "smcpkg/$LIBPLUGINSRC" ]
   then
      for ITEM in `find smcpkg -type f | grep "libux" | grep "$CLASSIFICATION" | sed -e 's,smcpkg\/,,'`
      do
         INSTALL_ITEM=`$ECHO $ITEM | sed -e 's,\.'${CLASSIFICATION}',,'`
         avinstall -f -S smcpkg -s "$ITEM" -T "$AVDIR/agent" -t "$INSTALL_ITEM" -u root -g "$PROGNAME" -m 755

         $ECHO -n "linking $AVDIR/agent/$INSTALL_ITEM to $AVDIR_BASE/agent/$INSTALL_ITEM ... "
         rm -f $AVDIR_BASE/agent/$INSTALL_ITEM
         ln -sf $AVDIR/agent/$INSTALL_ITEM $AVDIR_BASE/agent/$INSTALL_ITEM
         $ECHO "done"
      
      done
   fi

   if [ "$PRODUCT" = "server" -o "$PRODUCT" = "workstation" ]
   then
      avinstall -f -S script -s write_fstab.sh -T "$AVDIR/agent" -u root -g "$PROGNAME" -m 755
   fi

   avinstall -T $AVDIR/gui -u root -g "$PROGNAME" -m 750
   avinstall -T $AVDIR/gui/cert -u root -g "$PROGNAME" -m 750
   avinstall -T $AVDIR/gui/src -u root -g "$PROGNAME" -m 750
   avinstall -T $AVDIR/gui/bin -u root -g "$PROGNAME" -m 750
   
   if [ "$PRODUCT" = "mailgate" ]
   then
      avinstall -f -S bin/$CLASSIFICATION -s avmg_stats.lck -T "$AVDIR/gui/bin" -u uucp -g "$PROGNAME" -m 640
      avinstall -f -S bin/$CLASSIFICATION -s avmg_stats -T "$AVDIR/gui/bin" -u uucp -g "$PROGNAME" -m 750
   fi

   if [ "$PRODUCT" = "server" -o "$PRODUCT" = "workstation" ]
   then
      avinstall -f -S bin/$CLASSIFICATION -s avgu_stats.lck -T "$AVDIR/gui/bin" -u nobody -g "$PROGNAME" -m 664
      avinstall -f -S bin/$CLASSIFICATION -s avgu_stats -T "$AVDIR/gui/bin" -u root -g "$PROGNAME" -m 750
   fi

   avinstall -f -S bin/$CLASSIFICATION -s antivir_start.real -T "$AVDIR/gui/bin" -u root -g "$PROGNAME" -m 750
   chmod u+s $AVDIR/gui/bin/antivir_start.real

   avinstall -f -S bin/$CLASSIFICATION -s antivir_start -T "$AVDIR/gui/bin" -u root -g "$PROGNAME" -m 755
   avinstall -f -S smcpkg/src -s antivir_start.c -T "$AVDIR/gui/src" -u root -g "$PROGNAME" -m 644
   avinstall -f -S smcpkg/cert -s client.jks -T "$AVDIR/gui/cert" -u root -g "$PROGNAME" -m 644
   avinstall -f -S smcpkg/cert -s server.pem -T "$AVDIR/gui/cert" -u root -g "$PROGNAME" -m 644
   avinstall -f -S smcpkg/cert -s cacert.jks -T "$AVDIR/gui/cert" -u root -g "$PROGNAME" -m 644
   avinstall -f -S smcpkg/cert -s cacert.pem -T "$AVDIR/gui/cert" -u root -g "$PROGNAME" -m 644
}


patch_install_temp()
{
   $ECHO -n "patching temp-dir in  /etc/avira/$UPDATENAME-$UPDATE_CONF_NAME.conf ... "
   cp /etc/avira/$UPDATENAME-$UPDATE_CONF_NAME.conf /etc/avira/$UPDATENAME-$UPDATE_CONF_NAME.conf.tmp
   cat /etc/avira/$UPDATENAME-$UPDATE_CONF_NAME.conf.tmp | sed 's,temp-dir=/tmp/avira_update,temp-dir=/tmp/avira_update/'$INSTALL_NAME',' > /etc/avira/$UPDATENAME-$UPDATE_CONF_NAME.conf
   rm /etc/avira/$UPDATENAME-$UPDATE_CONF_NAME.conf.tmp
   $ECHO "done"
}


setup_startup_scripts()
{
   RCPATH=`sh script/rcscript query "$SSS_SCRIPT"`

   if [ "$SSS_START" -eq 1 ]
   then
      RCOVERWRITE=1

      if [ ! -z "$RCPATH" ]
      then
         if [ $HAS_INF -eq 1 ]
         then
            INPUT="y"
            $ECHO "$INPUT"
         fi

         $ECHO " "
         $ECHO "Boot scripts for $SSS_NAME have been found."
         check_yesno_input "Should they be overwritten? [y] " $INPUT
         if [ "$?" -eq "1" -o "$?" -eq "2" ]
         then
            RCOVERWRITE=1
         else
            RCOVERWRITE=0
         fi
      fi

      if [ $RCOVERWRITE -eq 1 ]
      then
         $ECHO -n "setting up boot script ... "
         sh script/rcscript install "$SSS_SCRIPT"
         if [ $? -ne 0 ]
         then
            $ECHO "failed"
            $ECHO " "
            error_message "warning: unable to set up boot script"
            $ECHO " "
            $ECHO "************************************************"
            $ECHO " Unable to locate where boot scripts belong."
            $ECHO " You can launch $SSS_NAME with:"
            $ECHO " "
            $ECHO "      $SSS_SCRIPT start"
            $ECHO "************************************************"
            $ECHO " "
            $ECHO -n "Press <ENTER> to continue."
            if [ $HAS_INF -eq 0 ]
            then
               read INPUT
            else
               $ECHO " "
            fi
         else
            $ECHO "done"
         fi
      fi
   else
      if [ ! -z "$RCPATH" ]
      then
         RCREMOVE=0

         INPUT=""

         if [ $HAS_INF -eq 1 ]
         then
            INPUT="y"
            $ECHO "$INPUT"
         fi
         $ECHO " "
         $ECHO "Boot scripts for $SSS_NAME have been found."
         check_yesno_input "Should they be removed? [n] " $INPUT
         if [ "$?" -eq "1" ]
         then
            sh script/rcscript remove "$SSS_SCRIPT"
         fi
      fi
   fi
}


install_smcagent()
{
#    check for old smc-plugins
   for ITEM in $AVDIR_BASE/agent/libuxmgt.so \
          $AVDIR_BASE/agent/libuxsrv.so \
          $AVDIR_BASE/agent/libuxwgt.so \
          $AVDIR_BASE/agent/libuxwks.so
   do
      if [ -f "$ITEM" ]
      then
         case $ITEM in
            *libuxmgt.so)
               SMC_PLUGIN_PRODUCT="AVIRA MailGate (UNIX)"
               ;;

            *libuxsrv.so)
               SMC_PLUGIN_PRODUCT="AVIRA AntiVir Server (UNIX)"
               ;;

            *libuxwgt.so)
               SMC_PLUGIN_PRODUCT="AVIRA AntiVir WebGate (UNIX)"
               ;;

            *libuxwks.so)
               SMC_PLUGIN_PRODUCT="AVIRA AntiVir Workstation (UNIX)"
               ;;
         esac

         for YEAR in 2006 2007 2008
         do
            strings $ITEM | grep -i "rev.*$YEAR" > /dev/null 2>&1
            ERR_PLUGIN_VERSION="$?"

            grep $ITEM /usr/lib/AntiVir/agent/agent.conf > /dev/null 2>&1
            ERR_PLUGIN_IN_AGENT_CONF="$?"

            if [ "$ERR_PLUGIN_VERSION" -eq 0 -a "$ERR_PLUGIN_IN_AGENT_CONF" -eq 0 ]
            then
               error_message "$ITEM not compatible with AVIRA SMC Agent 2.4, please uninstall $SMC_PLUGIN_PRODUCT first"
               exit 1
            fi
         done
      fi
   done

   if [ ! -d "$AVDIR_BASE" ]
   then
      avinstall -T "$AVDIR_BASE" -u root -g "$PROGNAME" -m 755
   fi

   if [ ! -d "$AVDIR" ]
   then
      avinstall -T "$AVDIR" -u root -g "$PROGNAME" -m 755
      if [ $? -ne 0 ]
      then
         error_message "error: failed to create $AVDIR"
         exit 1
      fi
   fi

   if [ ! -d /etc/avira ]
   then
      avinstall -T /etc/avira -u root -g "$PROGNAME" -m 775
   fi

   if [ -x $AVDIR/agent/smc-agent ]
   then
      $ECHO -n "stop running $FULLPRODUCTNAME ... "
      $AVDIR/agent/smc-agent stop > /dev/null 2>&1
      $ECHO "done"
   fi

   avinstall -f -s uninstall -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -s uninstall_smcplugin.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S etc -s file_list -T "$AVDIR" -u root -g "$PROGNAME" -m 664
   avinstall -f -S etc -s dir_list -T "$AVDIR" -u root -g "$PROGNAME" -m 664
   avinstall -f -S etc -s run.inf -T "$AVDIR" -u root -g "$PROGNAME" -m 664
   avinstall -f -s README.uninstall -T "$AVDIR" -u root -g "$PROGNAME" -m 664
   avinstall -f -s build.dat -T "$AVDIR" -u root -g "$PROGNAME" -m 664

   avinstall -f -S bin/$CLASSIFICATION -s agent -T "$AVDIR" -t agent -u root -g "$PROGNAME" -m 755
   avinstall -f -S bin/$CLASSIFICATION -s agent_msg.avr -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S bin/$CLASSIFICATION -s common_msg.avr -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S bin/$CLASSIFICATION -s libcommon.so -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S bin/$CLASSIFICATION -s avverifier -T "$AVDIR" -u root -g "$PROGNAME" -m 755

   if [ "$OS" = "sunos" ]
   then
      avinstall -f -S bin/$CLASSIFICATION -s libstdc++.so.5 -T "$AVDIR" -u root -g "$PROGNAME" -m 755
      avinstall -f -S bin/$CLASSIFICATION -s libstdc++.so.6 -T "$AVDIR" -u root -g "$PROGNAME" -m 755

      if [ -f "/usr/local/lib/libgcc_s.so.1" ]
      then
         LIBGCC_S_LOCATION="/usr/local/lib/libgcc_s.so.1"

      elif [ -f "/opt/sfw/lib/libgcc_s.so.1" ]
      then
         LIBGCC_S_LOCATION="/usr/local/lib/libgcc_s.so.1"
      fi

      if [ ! -z "$LIBGCC_S_LOCATION" ]
      then
         $ECHO -n "$AVDIR/libgcc_s.so.1 to $LIBGCC_S_LOCATION ... "
         rm -f "$AVDIR/libgcc_s.so.1"
         ln -s $LIBGCC_S_LOCATION "$AVDIR/libgcc_s.so.1"
         $ECHO "done"
      else
         avinstall -f -S bin/$CLASSIFICATION -s libgcc_s.so.1 -T "$AVDIR" -u root -g "$PROGNAME" -m 755
      fi
   fi
   
   if [ ! -x "$AVDIR/Agent" ]
   then
      $ECHO -n "linking $AVDIR/Agent to $AVDIR/$SMCAGENTNAME ... "
      rm -f $AVDIR/Agent
      ln -sf $AVDIR/$SMCAGENTNAME $AVDIR/Agent
      $ECHO "done"
   fi

   avinstall -f -S bin/$CLASSIFICATION -s avupdate.bin -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S bin/$CLASSIFICATION -s avupdate_msg.avr -T "$AVDIR" -u root -g "$PROGNAME" -m 755

   avinstall -f -S script -s $UPDATENAME.template -T "$AVDIR" -t "$UPDATENAME-$UPDATE_CONF_NAME" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s rcscript -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s smcagent_start.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s smcagent_restart.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s smcagent_stop.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s smcagent_post.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755

   avinstall -f -S script -s avira_start.sh.template -T "$AVDIR" -t smc-agent -u root -g "$PROGNAME" -m 755
   cp $AVDIR/smc-agent $AVDIR/smc-agent.orig
   cat $AVDIR/smc-agent.orig | sed -e 's,_PRODUCT_,'${PRODUCT}',' -e 's,_UPD-PRODUCT_,'${UPD_PRODUCT}',' -e 's,_FULLPRODUCTNAME_,'"${FULLPRODUCTNAME}"',' > $AVDIR/smc-agent
   rm $AVDIR/smc-agent.orig

   $ECHO -n "setting up SSL keys ... "
   gzip -dc agent/tgz/sslkeys.tar.gz | (cd $AVDIR ; tar xf -)
   if [ $? -ne 0 ]
   then
      $ECHO "failed."
      $ECHO " "
      error_message "error: failed to set up SSL keys in $AVDIR/agent"
      exit 1
   fi
   $ECHO "done."

   if [ ! -f /etc/avira/$UPDATENAME-$UPDATE_CONF_NAME.conf ]
   then
      avinstall -f -S etc -s $UPDATENAME.conf -T /etc/avira -t $UPDATENAME-$UPDATE_CONF_NAME.conf -u root -g "$PROGNAME" -m 664
      if [ "$PRODUCT" != "savapi3" ]
      then
         patch_install_temp
      fi
   fi
   avinstall -f -S etc -s $UPDATENAME.conf -T /etc/avira -t $UPDATENAME-$UPDATE_CONF_NAME.conf.default -u root -g "$PROGNAME" -m 664
   avinstall -f -S etc -s agent.ini -T /etc/avira -u root -g "$PROGNAME" -m 644
   avinstall -f -S etc -s agent.ini -T /etc/avira -t agent.ini.default -u root -g "$PROGNAME" -m 644

#    check if libstdc++.so.5/libstdc++.so.6 is available on this system
   if [ ${OS} = "sunos" ]
   then
      LIB_2_CHECK="libstdc++.so.6"
   else
      LIB_2_CHECK="libstdc++.so.5"
   fi

   $EXEC_AGENT ldd $AVDIR/$SMCAGENTNAME | grep "not found" > /dev/null
   if [ $? -eq 0 ]
   then
      $ECHO " "
      $ECHO "${LIB_2_CHECK} not found."
      case $SYSTEMINFO in
         *suse*11*)
            zypper -n install libstdc++33 > /dev/null 2>&1
            INSTALL_LIB="$?"
            ;;


         *fedora*)
            yum -y install compat-libstdc++-33 > /dev/null 2>&1
            INSTALL_LIB="$?"
            ;;

         *debian*)
            apt-get install libstdc++5 --assume-yes > /dev/null 2>&1
            INSTALL_LIB="$?"
            ;;

         *)
            error_message "error: ${LIB_2_CHECK} missing, please install first."
            exit 1
            ;;
      esac

      if [ $INSTALL_LIB -eq 0 ]
      then
         $ECHO "Installing missing ${LIB_2_CHECK} ... done"
      else
         error_message "error: failed to install ${LIB_2_CHECK}"
         $ECHO " "
         $ECHO "It was not possible to install a needed system library."
         $ECHO "If this library is not installed, it's not possible to"
         $ECHO "run AVIRA SMC Agent."
         exit 1
      fi

      $EXEC_AGENT ldd $AVDIR/$SMCAGENTNAME | grep "not found" > /dev/null
      if [ $? -eq 0 ]
      then
         $ECHO " "
         $ECHO "It was not possible to resolve all dependencies."
         exit 1
      fi
   fi

   $ECHO -n "setting up agent configuration ... "
   if [ "$AGENT_NETWORKNAME" != "$NO_VALUE" ]
   then
      AGENT_EXTRA_ARG1="--network_name="
      AGENT_EXTRA_ARG2="$AGENT_NETWORKNAME"
   else
      AGENT_EXTRA_ARG1=""
      AGENT_EXTRA_ARG2=""
   fi
   if [ "$AGENT_GUID" != "$NO_VALUE" ]
   then
      AGENT_EXTRA_ARG3="--guid="
      AGENT_EXTRA_ARG4="$AGENT_GUID"
   else
      AGENT_EXTRA_ARG3=""
      AGENT_EXTRA_ARG4=""
   fi
   if [ "$AGENT_PRODUCT_CONFIG" != "$NO_VALUE" ]
   then
      AGENT_EXTRA_ARG5="--product_config="
      AGENT_EXTRA_ARG6="$AGENT_PRODUCT_CONFIG"
   else
      AGENT_EXTRA_ARG5=""
      AGENT_EXTRA_ARG6=""
   fi

   AGENT_ERR=`$EXEC_AGENT $AVDIR/$SMCAGENTNAME --agent_port="$AGENT_AGENTPORT" --server_uri=http://"${AGENT_SERVERIP}:${AGENT_SERVERPORT}" --evmgr_uri=http://"${AGENT_EVENTMANAGERIP}:${AGENT_EVENTMANAGERPORT}" --update_uri=http://"${AGENT_UPDATEMANAGERIP}:${AGENT_UPDATEMANAGERPORT}" --display_name="$AGENT_DISPLAYNAME" $AGENT_EXTRA_ARG1$AGENT_EXTRA_ARG2 $AGENT_EXTRA_ARG3$AGENT_EXTRA_ARG4 $AGENT_EXTRA_ARG5$AGENT_EXTRA_ARG6 2>&1`
   if [ $? -ne 0 ]
   then
      $ECHO "failed."
      $ECHO " "
      error_message "error: failed to set up agent configuration"
      $ECHO "$AGENT_ERR" >&2
      exit 1
   fi
   $ECHO "done."

#    check for products and their smc plugins
   for INSTALLED_PRODUCTS in $AVDIR_BASE/guard/avguard.bin /avmailgate.bin $AVDIR_BASE/avwebgate.bin
   do
      if [ -f "$INSTALLED_PRODUCTS" ]
      then
         case $INSTALLED_PRODUCTS in
            *guard*)
               if [ -f $AVDIR_BASE/guard/AV_SRV_PROF ]
               then
                  SMC_PLUGIN_LIB="$AVDIR_BASE/guard/agent/libuxsrv.so"

               elif [ -f $AVDIR_BASE/guard/AV_WKS_PROF ]
               then
                  SMC_PLUGIN_LIB="$AVDIR_BASE/guard/agent/libuxwks.so"

               elif [ -f $AVDIR_BASE/AV_SRV_PROF ]
               then
                  SMC_PLUGIN_LIB="$AVDIR_BASE/agent/libuxsrv.so"

               elif [ -f $AVDIR_BASE/AV_WKS_PROF ]
               then
                  SMC_PLUGIN_LIB="$AVDIR_BASE/agent/libuxwks.so"
               fi
               ;;

            *mailgate*)
               SMC_PLUGIN_LIB="$AVDIR_BASE/agent/libuxmgt.so"
               ;;

            *webgate*)
               SMC_PLUGIN_LIB="$AVDIR_BASE/agent/libuxwgt.so"
               ;;
         esac

         KEYWORD=`$ECHO $SMC_PLUGIN_LIB | sed -e 's/^.*ux/ux/; s/\.so$//'`
         $ECHO -n "registering SMC UNIX Agent plug-in ($KEYWORD) ... "
         $EXEC_AGENT $AVDIR/$SMCAGENTNAME --install-plugin $KEYWORD $SMC_PLUGIN_LIB > /dev/null 2>&1
         $ECHO "done"
      fi
   done

   STARTAGENT=1
   $ECHO " "
   $ECHO "Please specify if boot scripts should be set up."
   check_yesno_input "Set up boot scripts ? [y] " $AGENT_AUTOSTART
   if [ "$?" -eq 0 ]
   then
      STARTAGENT=0
   fi

   SSS_START=$STARTAGENT
   SSS_SCRIPT="$AVDIR/smc-agent"
   SSS_NAME="AVIRA SMC UNIX Agent"
   setup_startup_scripts

   $ECHO " "
   check_yesno_input "Would you like to start the SMC UNIX Agent now? [y] " $AGENT_STARTNOW
   if [ "$?" -eq "1" -o "$?" -eq "2" ]
   then
      $AVDIR/smc-agent start
   fi

   $ECHO "installation of the SMC UNIX Agent complete"
}


print_openbsd_startup_msg()
{
   $ECHO " "
   $ECHO "If you would like $SSS_NAME to start up"
   $ECHO "automatically on system boot, please add the following"
   $ECHO "to the bottom of the /etc/rc.local file:"

   $ECHO " "
   $ECHO "    if [ -x $SSS_SCRIPT ]; then"
   $ECHO "        $SSS_SCRIPT start"
   $ECHO "    fi"

   $ECHO " "
   $ECHO -n "Press <ENTER> to continue."
   read INPUT
}


install_webgate()
{
   if [ "$VARIANT" = "AVDE" ]
   then
          avinstall -f -S doc -s avwebgate_en.pdf -T "$AVDIR" -u root -g "$PROGNAME" -m 644
      if [ $? -ne 0 ]
      then
         exit 1
      fi
   fi

   if [ -x $AVDIR/avwebgate ]
   then
      $ECHO -n "stop running $FULLPRODUCTNAME ... "
      $AVDIR/avwebgate stop > /dev/null 2>&1
      $ECHO "done"
   fi

   avinstall -f -S bin/$CLASSIFICATION -s avwebgate.bin -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   if [ $? -ne 0 ]
   then
      exit 1
   fi

   avinstall -f -S bin -s wskeyfile -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   if [ $? -ne 0 ]
   then
      exit 1
   fi

   avinstall -f -S bin/$CLASSIFICATION -s webcattool -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S doc -s README.webcattool -T "$AVDIR" -u root -g "$PROGNAME" -m 664
   avinstall -f -s build.dat -T "$AVDIR" -u root -g "$PROGNAME" -m 664

   avinstall -f -S script -s avwebgate_start.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s avwebgate_restart.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s avwebgate_reload.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s avwebgate_stop.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s avwebgate_post.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755

   avinstall -f -S script -s avira_start.sh.template -T "$AVDIR" -t avwebgate -u root -g "$PROGNAME" -m 755
   cp $AVDIR/avwebgate $AVDIR/avwebgate.orig
   cat $AVDIR/avwebgate.orig | sed -e 's,_PRODUCT_,'${PRODUCT}',' -e 's,_UPD-PRODUCT_,'${UPD_PRODUCT}',' -e 's,_FULLPRODUCTNAME_,'"${FULLPRODUCTNAME}"',' > $AVDIR/avwebgate
   rm $AVDIR/avwebgate.orig

   avinstall -f -S etc -s webcat0.dat -T "$AVDIR" -u root -g "$PROGNAME" -m 664
   avinstall -f -S etc -s webcat1.dat -T "$AVDIR" -u root -g "$PROGNAME" -m 664
   avinstall -f -S etc -s webcat2.dat -T "$AVDIR" -u root -g "$PROGNAME" -m 664
   avinstall -f -S etc -s webcat3.dat -T "$AVDIR" -u root -g "$PROGNAME" -m 664
   avinstall -f -S etc -s webcat4.dat -T "$AVDIR" -u root -g "$PROGNAME" -m 664

   avinstall -f -S doc -s MANUAL -T "$AVDIR" -t MANUAL.avwebgate -u root -g "$PROGNAME" -m 644
   
   avinstall -T "$AVDIR/templates" -u root -g "$PROGNAME" -m 775
   avinstall -T "$AVDIR/templates/examples" -u root -g "$PROGNAME" -m 775
   avinstall -T "$AVDIR/templates/examples/en" -u root -g "$PROGNAME" -m 775
   avinstall -T "$AVDIR/templates/examples/de" -u root -g "$PROGNAME" -m 775

   $ECHO -n "installing example templates to $AVDIR/templates ... "
   for item_tmpl in `ls templates/`
   do
      $ECHO -n " $item_tmpl"
           for item in `ls templates/$item_tmpl`
           do
                   avinstall -q -f -S templates/$item_tmpl -s "$item" -T "$AVDIR/templates/examples/$item_tmpl" -u root -g "$PROGNAME" -m 664
           done
   done
   $ECHO "done"
   $ECHO " "

   if [ ! -x "/usr/sbin/avwebgate" ]
   then
      $ECHO " "
      check_yesno_input "Would you like to create a link in /usr/sbin for avwebgate ? [y] " $WEBGATE_ADDLINK
      if [ "$?" -eq "1" -o "$?" -eq "2" ]
      then
         $ECHO -n "linking /usr/sbin/avwebgate to $AVDIR/avwebgate ... "
         rm -f /usr/sbin/avwebgate
         ln -s $AVDIR/avwebgate /usr/sbin/avwebgate
         $ECHO "done"
      fi
   fi

   SSS_SCRIPT="$AVDIR/avwebgate"
   SSS_NAME="AVIRA WebGate"

   STARTWEBGATE=1
   $ECHO " "
   $ECHO "Please specify if boot scripts should be set up."
   check_yesno_input "Set up boot scripts ? [y] " $WEBGATE_AUTOSTART
   if [ "$?" -eq "0" ]
   then
      STARTWEBGATE=0
   fi

   SSS_START=$STARTWEBGATE
   setup_startup_scripts

   $ECHO "installation of main program complete"
}


install_mailgate()
{
   if [ "$VARIANT" = "AVDE" ]
   then
      avinstall -f -S doc -s avmailgate_en.pdf -T "$AVDIR" -u root -g "$PROGNAME" -m 644
      if [ $? -ne 0 ]
      then
         exit 1
      fi
   fi

   if [ -x $AVDIR/avmailgate ]
   then
      $ECHO -n "stop running $FULLPRODUCTNAME ... "
      $AVDIR/avmailgate stop > /dev/null 2>&1
      $ECHO "done"
   fi

   avinstall -f -S bin/$CLASSIFICATION -s avmailgate.bin -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   if [ $? -ne 0 ]
   then
      exit 1
   fi

   ASMAILGATE_SRC="contrib/asmailgate"
   ASMAILGATE_BINDIR="$ASMAILGATE_SRC/bin/$CLASSIFICATION"
   if [ ! -d "$ASMAILGATE_BINDIR" -a ! -z "$USE_CLASSIFICATION" ]
   then
      ASMAILGATE_BINDIR="$ASMAILGATE_SRC/bin/$USE_CLASSIFICATION"
   fi
   ASMAILGATE_DATADIR="$ASMAILGATE_SRC/data"
   ASMAILGATE_LIB="libasmailgate.so"
   ASMAILGATE_BIN="avmg_ext_filter.bin"
   if [ -f "$ASMAILGATE_BINDIR/$ASMAILGATE_LIB" ]
   then
      # install asmailgate

      avinstall -f -S $ASMAILGATE_BINDIR -s $ASMAILGATE_LIB -T "$AVDIR" -u root -g "$PROGNAME" -m 755
      avinstall -f -S $ASMAILGATE_BINDIR -s $ASMAILGATE_BIN -T "$AVDIR" -u root -g "$PROGNAME" -m 755

      for item_expg in `ls $ASMAILGATE_DATADIR/`
      do
         avinstall -f -S $ASMAILGATE_DATADIR -s $item_expg -T "$AVDIR" -u root -g "$PROGNAME" -m 644
      done
   fi

   avinstall -f -s build.dat -T "$AVDIR" -u root -g "$PROGNAME" -m 664

   avinstall -f -S script -s avmailgate_start.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s avmailgate_restart.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s avmailgate_smc_post.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s avmailgate_stop.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s avmailgate_post.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s create-db.sql -T "$AVDIR" -u root -g "$PROGNAME" -m 755

   avinstall -f -S script -s avira_start.sh.template -T "$AVDIR" -t avmailgate -u root -g "$PROGNAME" -m 755
   cp $AVDIR/avmailgate $AVDIR/avmailgate.orig
   cat $AVDIR/avmailgate.orig | sed -e 's,_PRODUCT_,'${PRODUCT}',' -e 's,_UPD-PRODUCT_,'${UPD_PRODUCT}',' -e 's,_FULLPRODUCTNAME_,'"${FULLPRODUCTNAME}"',' > $AVDIR/avmailgate
   rm $AVDIR/avmailgate.orig

   avinstall -f -S doc -s MANUAL -T "$AVDIR" -t MANUAL.avmailgate -u root -g "$PROGNAME" -m 644

   avinstall -T "$AVDIR/templates" -u root -g "$PROGNAME" -m 775
   avinstall -T "$AVDIR/templates/examples" -u root -g "$PROGNAME" -m 775
   avinstall -T "$AVDIR/templates/examples/de" -u root -g "$PROGNAME" -m 775
   avinstall -T "$AVDIR/templates/examples/en" -u root -g "$PROGNAME" -m 775
   avinstall -T "$AVDIR/templates/examples/es" -u root -g "$PROGNAME" -m 775
   avinstall -T "$AVDIR/templates/examples/hu" -u root -g "$PROGNAME" -m 775
   avinstall -T "$AVDIR/templates/examples/it" -u root -g "$PROGNAME" -m 775
   avinstall -T "$AVDIR/templates/examples/nl" -u root -g "$PROGNAME" -m 775

   $ECHO -n "installing example templates to $AVDIR/templates ... "
   for item_tmpl in `ls templates/`
   do
           for item in `ls templates/$item_tmpl`
           do
                   avinstall -q -f -S templates/$item_tmpl -s "$item" -T "$AVDIR/templates/examples/$item_tmpl" -u root -g "$PROGNAME" -m 664
           done
   done
   $ECHO "done"
   $ECHO " "

   if [ -f templates/spamfilter-subjects ]
   then
      avinstall -f -S templates -s spamfilter-subjects -T "$AVDIR/templates/examples" -t spamfilter-subjects -u root -g "$PROGNAME" -m 664
   fi
   $ECHO " "

   avinstall -S etc -s avmailgate.ignore -T /etc -u root -g "$PROGNAME" -m 664
   avinstall -S etc -s avmailgate.scan -T /etc -u root -g "$PROGNAME" -m 664
   avinstall -S etc -s avmailgate.warn -T /etc -u root -g "$PROGNAME" -m 664
   avinstall -S etc -s asmailgate.except -T /etc -u root -g "$PROGNAME" -m 664
   avinstall -S etc -s odbc.ini -T /etc/avira -u root -g "$PROGNAME" -m 664

   avinstall -T "/var/spool/avmailgate" -u $MGTUSER -g "$PROGNAME" -m 700
   avinstall -T "/var/spool/avmailgate/incoming" -u $MGTUSER -g "$PROGNAME" -m 700
   avinstall -T "/var/spool/avmailgate/outgoing" -u $MGTUSER -g "$PROGNAME" -m 700
   avinstall -T "/var/spool/avmailgate/rejected" -u $MGTUSER -g "$PROGNAME" -m 700

   if [ ! -h "/usr/sbin/avmailgate" ]
   then
      rm -f /usr/sbin/avmailgate
   fi

   MANPAGES_DIR="`$ECHO $MANPATH | sed -e 's/:.*//'`"
   if [ -z "$MANPAGES_DIR" ]
   then
      if [ -d /usr/share/man ]
      then
         MANPAGES_DIR="/usr/share/man"
      
      elif [ -d /usr/local/man ]
      then
         MANPAGES_DIR="/usr/local/man"
      fi
   fi

   $ECHO " "
   $ECHO "Enter the path where the manual pages will be located:"
   $ECHO -n "[$MANPAGES_DIR]: "

   INPUT=$MAILGATE_MANPAGESDIR
   if [ -z "$INPUT" ]
   then
      if [ $HAS_INF -ne 0 ]
      then
         INPUT="$MANPAGES_DIR"
      else
         read INPUT
         if [ -z "$INPUT" ]
         then
            INPUT="$MANPAGES_DIR"
         fi
      fi
   else
      $ECHO "$INPUT"
   fi
   MANPAGES_DIR="$INPUT"
   
   if [ ! -d $MANPAGES_DIR/man5 ]
   then
      mkdir $MANPAGES_DIR/man5
   fi
   avinstall -f -S doc/man -s avmailgate.conf.5 -T "$MANPAGES_DIR/man5" -u root -g "$PROGNAME" -m 644
   avinstall -f -S doc/man -s avmailgate.acl.5 -T "$MANPAGES_DIR/man5" -u root -g "$PROGNAME" -m 644

   if [ ! -d $MANPAGES_DIR/man8 ]
   then
      mkdir $MANPAGES_DIR/man8
   fi
   avinstall -f -S doc/man -s avmailgate.8 -T "$MANPAGES_DIR/man8" -u root -g "$PROGNAME" -m 644

   if [ ! -f "/etc/avmailgate.acl" ]
   then
      ACLLIST=""
      case $OS in
         linux*)
            ACLLIST="`hostname -f` `hostname -d`"
            ;;
         freebsd|openbsd)
            ACLLIST="`hostname` `hostname -s`"
            ;;
         sunos)
            ACLLIST="`hostname` `domainname`"
            ;;
      esac

      LOCAL_ACL=""
      for aclitem in $ACLLIST
      do
         if [ -z "$LOCAL_ACL" ]
         then
            LOCAL_ACL="$aclitem"
         else
            LOCAL_ACL="$LOCAL_ACL $aclitem"
         fi
      done

      $ECHO " "
      $ECHO "Enter the hosts and/or domains that are local:"
      $ECHO -n "[$LOCAL_ACL]: "

      INPUT=$MAILGATE_LOCALACL
      if [ -z "$INPUT" ]
      then
         read INPUT
         if [ -z "$INPUT" ]
         then
            INPUT="$LOCAL_ACL"
         fi
      else
         $ECHO "$INPUT"
      fi
      LOCAL_ACL="$INPUT"

      RELAY_ACL="127.0.0.1/8 192.168.0.0/16"

      $ECHO " "
      $ECHO "Enter the hosts and networks that are allowed to relay:"
      $ECHO -n "[$RELAY_ACL]: "

      INPUT=$MAILGATE_RELAYACL
      if [ -z "$INPUT" ]
      then
         read INPUT
         if [ -z "$INPUT" ]
         then
            INPUT="$RELAY_ACL"
         fi
      else
         $ECHO "$INPUT"
      fi
      RELAY_ACL="$INPUT"

      $ECHO "# Access lists for AVIRA MailGate" > /etc/avmailgate.acl
      $ECHO "" >> /etc/avmailgate.acl
      $ECHO "# These hosts and/or domains are local." >> /etc/avmailgate.acl
      $ECHO "local: localhost" >> /etc/avmailgate.acl
      $ECHO "local: $LOCAL_ACL" >> /etc/avmailgate.acl
      $ECHO "" >> /etc/avmailgate.acl
      $ECHO "# These hosts and networks are allowed to relay." >> /etc/avmailgate.acl
      $ECHO "relay: $RELAY_ACL" >> /etc/avmailgate.acl
      $ECHO "" >> /etc/avmailgate.acl

      chown root:antivir /etc/avmailgate.acl
      chmod 664 /etc/avmailgate.acl
   fi

   if [ ! -x "/usr/sbin/avmailgate" ]
   then
      $ECHO " "
      check_yesno_input "Would you like to create a link in /usr/sbin for avmailgate ? [y] " $MAILGATE_ADDLINK
      if [ "$?" -eq "1" -o "$?" -eq "2" ]
      then
         $ECHO -n "linking /usr/sbin/avmailgate to $AVDIR/avmailgate ... "
         rm -f /usr/sbin/avmailgate
         ln -s "$AVDIR/avmailgate" /usr/sbin/avmailgate
         $ECHO "done"
      fi
   fi

   SSS_SCRIPT="$AVDIR/avmailgate"
   SSS_NAME="AVIRA MailGate"

   STARTMAILGATE=1
   $ECHO " "
   $ECHO "Please specify if boot scripts should be set up."
   check_yesno_input "Set up boot scripts ? [y] " $MAILGATE_AUTOSTART
   if [ "$?" -eq "0" ]
   then
      STARTMAILGATE=0
   fi

   SSS_START=$STARTMAILGATE
   setup_startup_scripts

   $ECHO "installation of main program complete"
}


mount_scan_paths()
{
   # show what will be mounted
   while read FSTAB_LINE
   do
      # use awk to ignore tabs or spaces from variable name
                FSTYPE=`$ECHO $FSTAB_LINE |sed 's/^[ \t]*//' |grep -v ^#|  awk -F' ' '{ print $3 }'`
                MOUNT_PATH=`$ECHO $FSTAB_LINE |sed 's/^[ \t]*//' |grep -v ^#|  awk -F' ' '{ print $2 }'`
      if [ "$FSTYPE" = "dazukofs" ]
      then
         $ECHO "Mounting $MOUNT_PATH as dazukofs..."
         $ECHO ""
      fi
   done < /etc/fstab

   mount -a -t dazukofs  >/dev/null 2>&1
   if [ $? -ne 0 ]
   then
      $ECHO "Mount failed maybe some mount points are not valid"
   fi
}


edit_includepath_4_fstab()
{
   # Add current /etc/fstab dazukofs entries to INCLUDEPATH
   while read FSTAB_LINE
   do
      FSTYPE=`$ECHO $FSTAB_LINE | sed 's/^[ \t]*//' | grep -v ^# | awk -F' ' '{ print $3 }'`
      NEW_INCLUDE_PATH=`$ECHO $FSTAB_LINE | sed 's/^[ \t]*//' | grep -v ^# | awk -F' ' '{ print $2 }'`
      if [ "$FSTYPE" = "dazukofs" ]
      then
         if [ -d $NEW_INCLUDE_PATH ]
         then
            INCLUDEPATH="$INCLUDEPATH ${NEW_INCLUDE_PATH}"
         fi
                fi
        done < /etc/fstab

        # If nothing was found in /etc/fstab,
        # import from old /etc/avguard.conf
        NEW_PATHS=0 # This variable is needed for preventing duplicate entries in /etc/fstab
        if [ -z "$INCLUDEPATH" -a -f /etc/avguard.conf ]
        then
                for ITEM in `sed 's/^[ \t]*//' /etc/avguard.conf | grep -v ^# | grep -i IncludePath | awk -F' ' '{ print $2 }' | sort | uniq`
      do
         if [ -d $ITEM ]
         then
            INCLUDEPATH="$INCLUDEPATH $ITEM"
         fi
      done
                NEW_PATHS=1
        fi

        $ECHO ""
        $ECHO "Guard will automatically protect all directories"
        $ECHO "which are mounted upon dazukofs filesystem."
        $ECHO ""
        sleep 1

   if [ "$HAS_INF" -eq 0 ]
   then
      if [ -z "$INCLUDEPATH" ]
      then
         $ECHO "Please specify at least one directory to be protected"
         $ECHO -n "by Guard to add in /etc/fstab : [/home] "
         read INPUT
         if [ -z "$INPUT" ]
         then
            INPUT="/home"
         fi

         while [ ! -d "$INPUT" ]
         do
            $ECHO "$INPUT is not a valid directory path,"
            $ECHO -n "please reenter: "
            read INPUT
         done
                        INCLUDEPATH=$INPUT
         NEW_PATHS=1
      fi
   else
#       use the non-interactive value, even if this is empty
      INCLUDEPATH="$INCLUDEPATH $NEW_INCLUDEPATH"
      NEW_PATHS=1
   fi
   
   $ECHO "The following directories will be protected by Guard:"
   for ITEM in $INCLUDEPATH
   do
      if [ -d $ITEM ]
      then
         $ECHO "$ITEM"
      fi
   done

   $ECHO ""
   $ECHO "If you want to remove or include more directories"
   $ECHO "you will need to edit your /etc/fstab file and remount dazukofs."
   $ECHO ""

   sleep 1

   if [ "$NEW_PATHS" -eq 1 ]
   then
      $ECHO "backup original /etc/fstab to /etc/fstab.orig"
      cp /etc/fstab /etc/fstab.orig
   
      # add the example
      $ECHO "# DazukoFS ...
# Example of mounting one dir onto dazukofs (directory to be protected by AVIRA Guard)
#/home/shared /home/shared dazukofs" >> /etc/fstab

      for ITEM in $INCLUDEPATH
      do
         $ECHO -n "adding DazukoFS IncludePath $ITEM to /etc/fstab ... "
         $ECHO   "$ITEM    $ITEM    dazukofs" >> /etc/fstab
         $ECHO "done"
      done

      $ECHO "# ... DazukoFS" >> /etc/fstab
   fi
}


move_file_link()
{
   LINK_2_MOVE="$1"

   if [ -x "`which dpkg-divert 2>/dev/null`" ]
   then
      $ECHO -n "move ${LINK_2_MOVE} to ${LINK_2_MOVE}.pre-installed ... "
      dpkg-divert --rename --divert ${LINK_2_MOVE}.pre-installed ${LINK_2_MOVE} > /dev/null
      if [ $? -eq 0 ]
      then
         $ECHO "done"
      else
         $ECHO "fail"
      fi
   else
      $ECHO -n "move /usr/bin/avscan to /usr/bin/avscan.pre-installed ... "
      mv ${LINK_2_MOVE} ${LINK_2_MOVE}.pre-installed
      $ECHO "done"
   fi
}


enable_unsupported_modules()
{
#    check if the os is a suse os
   if [ -f "/etc/SuSE-release" ]
   then
#       check if the os is a enterprise version and what version
      cat /etc/SuSE-release | grep "Enterprise" > /dev/null 2>&1
      if [ "$?" -eq "0" ]
      then
         SLES_VERSION="0"
         ENTERPRISE="1"
         SLES_VERSION="`cat /etc/SuSE-release | grep "VERSION" | sed -s 's,VERSION\ \=\ ,,'`"
      else
         ENTERPRISE="0"
         SLES_VERSION="0"
      fi

#       if the os is a suse enterprise an the version equal or greater than 11 start the user question
      if [ "$ENTERPRISE" -eq "1" -a "$SLES_VERSION" -ge "11" ]
      then
         cat /etc/modprobe.d/unsupported-modules | grep "^allow_unsupported_modules\ 1" > /dev/null 2>&1
         if [ "$?" -ne "0" ]
         then
            ${ECHO} "To run DazukoFS on your system you have to enable the feature to"
            ${ECHO} "load unsupported kernel modules. When this feature is not enabled,"
            ${ECHO} "DazukoFS will not work properly."
            ${ECHO} " "
            ${ECHO} "INFO: Loading unsupported modules results in, the kernel being tainted"
            ${ECHO} "Because ot this, your kernel may not be fully supported by Novell"
            check_yesno_input "Would you like to enable the feature to load unsupported modules ? [y] " $INST_DAZUKO
            if [ "$?" -eq "1" -o "$?" -eq "2" ]
            then
               cp /etc/modprobe.d/unsupported-modules /etc/modprobe.d/unsupported-modules.orig
               
               ${ECHO} -n "patch /etc/modprobe.d/unsupported-modules and enable the unsupported modules ... "
               cat /etc/modprobe.d/unsupported-modules.orig | sed -e 's,^allow_unsupported_modules\ 0,allow_unsupported_modules\ 1,' > /etc/modprobe.d/unsupported-modules
               ${ECHO} "done"

               rm /etc/modprobe.d/unsupported-modules.orig
            fi
         fi
      fi
   fi
}


add_dazuko_support()
{
   ACTIVE_DAZUKO_LIB=''
   if [ $OS = 'sunos' ]
   then
      SUNOS_VERSION="`sh script/getsysteminfo | sed 's/sunos\-//'`"
      case ${SUNOS_VERSION} in
         5.9)
            ACTIVE_DAZUKO_LIB="libdazukoSolaris9.so"
            ;;
         5.10)
            ACTIVE_DAZUKO_LIB="libdazukoSolaris10.so"
            ;;
         *)
            ${ECHO} "The Dazuko library in this package was not complied for Sun ${SUNOS_VERSION}"
            exit 27
            ;;
      esac

      INSTALL_DAZUKOFS='n'
      return 0
   else
      ACTIVE_DAZUKO_LIB='libdazuko3compat2.so'
   fi
   INSTALL_DAZUKOFS='y'

   grep dazukofs /proc/devices > /dev/null 2>&1
   DAZUKO_MODULE_LOADED="$?"

#    update the module list
   depmod -ae > /dev/null 2>&1

   modprobe -l | grep dazukofs.ko > /dev/null 2>&1
   PREINSTALLED_DAZUKO_FOUND="$?"

   if [ "$DAZUKO_MODULE_LOADED" -eq 0 -o "$PREINSTALLED_DAZUKO_FOUND" -eq 0 ]
   then
      $ECHO " "
      $ECHO "Preinstalled dazukofs module found on your system."
      check_yesno_input "Would you like to reinstall dazukofs now ? [y] " $INST_DAZUKO
      if [ "$?" -eq "1" -o "$?" -eq "2" ]
      then
         enable_unsupported_modules
         $ECHO -n "installing dazuko ... "
         cd contrib/dazuko
         /bin/sh install_dazuko.sh
         DAZUKOFS_INSTALL_FAIL="$?"
         if [ "$DAZUKOFS_INSTALL_FAIL" -eq 0 ]
         then
            cd ../..
            return 0
         fi
         cd ../..
      fi
   fi

   if [ "$DAZUKO_MODULE_LOADED" -eq 0 ]
   then
      $ECHO 'Dazukofs module is loaded'
      return 0
   fi

   if [ "$PREINSTALLED_DAZUKO_FOUND" -eq 0 ]
   then
      $ECHO -n 'Preinstalled dazukofs module found, probing... '
      modprobe dazukofs >/dev/null 2>&1
      if [ "$?" -eq 0 ]
      then
         $ECHO 'success'
         return 0
      else
         $ECHO 'failed'
      fi
   fi

   # Try to compile a dazukofs module     
   $ECHO
   $ECHO 'No Dazukofs module found on your system.'
   $ECHO
   $ECHO 'DazukoFS is a stackable filesystem driver developed independently'
   $ECHO 'by the Dazuko project (www.dazuko.org).'
   $ECHO 'Which means codechanges, bugfixes and roadmap of this driver is completely'
   $ECHO 'done by the Dazuko project and their community.'
   $ECHO
   $ECHO 'For your convenience you can start the DazukoFS installation from here.'
   $ECHO
   check_yesno_input "Would you like to install dazukofs now ? [y] " $INST_DAZUKO
   if [ "$?" -eq "1" -o "$?" -eq "2" ]
   then
      enable_unsupported_modules
      $ECHO -n "installing dazuko ... "
      cd contrib/dazuko
      /bin/sh install_dazuko.sh
      DAZUKOFS_INSTALL_FAIL="$?"
      if [ "$DAZUKOFS_INSTALL_FAIL" -eq 0 ]
      then
         cd ../..
         return 0
      fi
      cd ../..
   else
      INSTALL_DAZUKOFS='n'
      NO_DAZUKO='1'
   fi

#    update the module list
   depmod -ae > /dev/null 2>&1

   # Check for a precompiled dazuko2 module
   modprobe -l | grep dazuko.ko  > /dev/null 2>&1
   if [ "$?" -eq 0 ]
   then
      $ECHO
      $ECHO "Precompiled Dazuko2 module was detected on your machine."
      $ECHO "Running AVIRA Guard with dazuko2 is no longer officially supported."
      $ECHO
      check_yesno_input "Do you still want to use Guard with dazuko2 module ? [y] " $USE_DAZUKO2_IF_AVAILABLE
      if [ "$?" -eq "1" -o "$?" -eq "2" ]
      then
         $ECHO -n "probing Dazuko2 module ..."
         modprobe dazuko > /dev/null 2>&1
         if [ "$?" -eq 0 ]
         then
            $ECHO "success"
            ACTIVE_DAZUKO_LIB="libdazuko2.so"
            return 0
         else
            $ECHO 'failed'
         fi
      fi
      sleep 1
   fi

   return $DAZUKOFS_INSTALL_FAIL
}


install_guard()
{
   if [ "$VARIANT" = "AVDE" ]
   then
      avinstall -f -S doc -s antivir_server_and_professional_en.pdf -T "$AVDIR" -u root -g "$PROGNAME" -m 644
      avinstall -f -S doc -s antivir_personal_en.pdf -T "$AVDIR" -u root -g "$PROGNAME" -m 644
      avinstall -f -S doc -s antivir_server_and_professional_de.pdf -T "$AVDIR" -u root -g "$PROGNAME" -m 644
      avinstall -f -S doc -s antivir_personal_de.pdf -T "$AVDIR" -u root -g "$PROGNAME" -m 644

      avinstall -f -S doc -s antivir_server_and_professional_en.txt -T "$AVDIR" -u root -g "$PROGNAME" -m 644
      avinstall -f -S doc -s antivir_personal_en.txt -T "$AVDIR" -u root -g "$PROGNAME" -m 644
      avinstall -f -S doc -s antivir_server_and_professional_de.txt -T "$AVDIR" -u root -g "$PROGNAME" -m 644
      avinstall -f -S doc -s antivir_personal_de.txt -T "$AVDIR" -u root -g "$PROGNAME" -m 644
   fi

   if [ -x $AVDIR/avguard ]
   then
      $ECHO -n "stop running $FULLPRODUCTNAME ... "
      $AVDIR/avguard stop > /dev/null 2>&1
      $ECHO "done"
   fi


   if [ $OS = "sunos" ]
   then
      DAZUKOLIBS="libdazukoSolaris9.so libdazukoSolaris10.so"
   else
      DAZUKOLIBS="libdazuko2.so libdazuko3compat2.so"
   fi

   for ITEM in $DAZUKOLIBS avguard-ondemand-mgmt avguard-scanner avscan avsavapi-super avguard.bin
   do
      avinstall -f -S bin/$CLASSIFICATION -s $ITEM -T "$AVDIR" -u root -g "$PROGNAME" -m 755
      if [ $? -ne 0 ]
      then
         exit 1
      fi
   done

        add_dazuko_support
   DAZUKOFS_INSTALL="$?"
        if [ "$DAZUKOFS_INSTALL" -ne '0' -a "$INSTALL_DAZUKOFS" = 'y' ]
        then
                NO_DAZUKO='1'
                $ECHO 'Dazuko installation failed'
                $ECHO
                $ECHO "Dazuko module (www.dazuko.org) provides a virtual device driver allowing"
                $ECHO "AVIRA Guard to provide resident realtime  protection of specified directories from malicious files."
                $ECHO "Guard will not offer \"on access\" protection if it does not find a loaded dazuko"
      $ECHO "module or OnAccessManagement is set to \"no\". You can still continue with the"
                $ECHO "installation if you are only planning to use the command-line scanner (avscan)"
                $ECHO "or you are going to compile your own dazuko module later."
                $ECHO
                check_yesno_input "Would you like to continue the installation ? [y] " $CONTINUE_IF_DAZUKO_FAILED
                if [ "$?" -eq "0" ]
      then
         error_message "dazuko installation failed"
                        exit $DAZUKOFS_INSTALL
                fi
   fi
   $ECHO
   $ECHO -n "linking $AVDIR/libdazuko.so to $AVDIR/$ACTIVE_DAZUKO_LIB ... "
   rm -f $AVDIR/libdazuko.so
   ln -s $AVDIR/$ACTIVE_DAZUKO_LIB $AVDIR/libdazuko.so
   $ECHO "done"
   
   if [ "$ACTIVE_DAZUKO_LIB" = 'libdazuko3compat2.so' -a "$NO_DAZUKO" -eq '0' ]
        then
           edit_includepath_4_fstab
      mount_scan_paths
   fi

   if [ ! -f /etc/avira/avscan.conf ]
   then
      avinstall -f -S etc -s avscan.conf -T "/etc/avira" -u root -g "$PROGNAME" -m 664
      if [ $? -ne 0 ]
      then
         exit 1
      fi
   fi
   avinstall -f -S etc -s avscan.conf -T "/etc/avira" -t avscan.conf.default -u root -g "$PROGNAME" -m 664

   avinstall -f -s build.dat -T "$AVDIR" -u root -g "$PROGNAME" -m 664

   avinstall -f -S script -s avguard_start.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s avguard_restart.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s avguard_stop.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s avguard_post.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s avguardkey_post.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s start_guard_upgrade.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755
   avinstall -f -S script -s smcagent_reload.sh -T "$AVDIR" -u root -g "$PROGNAME" -m 755

   avinstall -f -S script -s avira_start.sh.template -T "$AVDIR" -t "$GUARDNAME" -u root -g "$PROGNAME" -m 755
   cp $AVDIR/avguard $AVDIR/avguard.orig
   cat $AVDIR/avguard.orig | sed -e 's,_PRODUCT_,'${PRODUCT_SCRIPT}',' -e 's,_UPD-PRODUCT_,'${UPD_PRODUCT}',' -e 's,_FULLPRODUCTNAME_,'"${FULLPRODUCTNAME_SCRIPT}"',' > $AVDIR/avguard
   rm $AVDIR/avguard.orig

#    check if /var/run/avguard has the correct permissions at installtime. if not, set it to default 644
   if [ -d "/var/run/avguard" ]
   then
      chmod 711 /var/run/avguard
   fi

   if [ "$OS" = "sunos" ]
   then
      $ECHO " "
      $ECHO "Version $PRODUCTVERSION of $FULLPRODUCTNAME is capable of on-access,"
      $ECHO "real-time scanning of files. This provides the ultimate protection"
      $ECHO "against viruses and other unwanted software. The on-access scanner"
      $ECHO "(called AVIRA Guard) is based on Dazuko, a free software project providing"
      $ECHO "access control."
      $ECHO " "
      check_yesno_input "Would you like to install dazuko now ? [y] " $INST_DAZUKO
      if [ "$?" -eq "1" -o "$?" -eq "2" ]
      then
         KMODULE="da
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 15 تیر 1389، 08:41 ق‌ظ
کلاً این آنتی ویروس اویرا رواز خود سایت اویرا گرفتم  که تو یکی از همین تاپیک هامعرفیش کرده بودن!
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: heresh در 15 تیر 1389، 08:50 ق‌ظ
این فایل رو باید اجرا کنی تا نصب بشه. فکر کردم تو این فایل تو چند خط روش نصب رو گفته برای همین گفتم اینجا بزاری. کافیه این فایل رو اجرا کنی.
تو ترمینال این دستور رو بزن نصب می‌شه:
sh ~/Downloads/Avira/antivir-workstation-pers-3.1.3.4-1/installاگه گفت اجازه دسترسی نداره دستور پایین رو بزن
sudo sh ~/Downloads/Avira/antivir-workstation-pers-3.1.3.4-1/install
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 15 تیر 1389، 08:57 ق‌ظ
دستور اول رو که نشد

دستور دوم  رو اجرا کردم اما ازم لایسنس خواس
من یه لایسنس از همون سایت گرفتم اما نمیدونم چجور باید واردش کنم؟

ورداشتم drag& drop کردم در ادامه کار توی ترمینال  ;D

نمیدونم درسته یا نه؟ اما ادامه نصب بعد از اینکار روی ۱۴٪  واستاده تکون نمیخوره   :D

اینجوری شده:





Please read through the following software licence agreement. By installing the
software, you explicitly agree to be bound by the conditions of this agreement.
If you do not accept the conditions of this agreement, you may not use the softw
are.

This free Avira AntiVir Personal - Free AntiVirus is intended exclusively for pr
ivate use on a single workstation. You may copy the complete program package and
 pass it on to others for private use only. The free Avira AntiVir Personal - Fr
ee AntiVirus may not be used for commercial or professional purposes.

$1 Subject-matter of agreement

1) This agreement refers to the computer programs, program specifications and us
er manual (hereinafter called "Software").

2) The user is granted the right to use the Software free of charge.

3) The computer program described in the user manual conforms to the latest tech
nological standards. AVIRA GmbH (hereinafter called "Licensor") wishes to point
out, however, that the latest technological standards do not guarantee software
programs to function entirely without error in all applications and combinations
.
--More--(14%)


عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: heresh در 15 تیر 1389، 09:02 ق‌ظ
drag & drop هم کار می‌کنه. نمی‌دونم چرا ۱۴٪ گیر کرده  ::)
الان با Ctrl+c یا Ctrl+z می‌تونی متوقفش کنی. یکم دیگه صبر کن ۱۰ و ۱۵ دقیقه دیگه اگه تکون نخورد و مطمئن شدی گیر کرده متوقفش کن و دوباره اجراش کن ببین می‌ره جلوتر
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 15 تیر 1389، 09:05 ق‌ظ
چشم

شرمنده حسابی  وقتتونو گرفتم و اذیت شدین

تازه بی اطلاعی  ما تازه کارها  هم دردسریه واسه دوستان ](*,)  ;D

عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 15 تیر 1389، 09:11 ق‌ظ
باز هم همونجور شد!!

یه دفعه میره روی ۱۴ ٪ و از ادامه باز میمونه  :(

بیخیال اگه نشد اجباری نیست از آویرا استفاده کنم :(

حالگیری میکنه با این درد سرهاش!


عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: heresh در 15 تیر 1389، 09:21 ق‌ظ
دشمتن شرمنده، نه اصلا دردسر و اذیت نیست. اینجوری وقت ما خیلی هم مفید می‌گذره  ;)
شاید اگه با ترمینال بری تو همون پوشه و دستور رو بزنی بره جلوتر. البته فقط یه حدسه و شاید اصلا ربطی نداشته باشه.
یعنی با cd برو تو پوشه بعد دستور پایین رو بزن
sudo sh ./install
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 15 تیر 1389، 09:43 ق‌ظ
متأسفانه این روش هم جواب نداد!! :(

از اول هم میرفتم توی پوشه آویرا و با راست کلیک ترمینال رو تو همون مسیر باز میکردم و دستورات رو اجرا میکردم


این دستور آخر هم باز روی ۱۴٪ درصد میمونه!!!!!!!!!!   :(
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: eMan در 15 تیر 1389، 10:07 ق‌ظ
میلاد جان محتویات پوشه رو پاک کن و دوباره اون فایلی که دانلود کردی رو اکستراکت کن شاید بد اکستراکت شده شاید یکی از فایلهاش خراب شده ، شاید توی این رفع مشکلت یکی از فایلها دستکاری شده و این ایراد رو می گیره
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: milad-x در 15 تیر 1389، 11:11 ق‌ظ
مجدداً اکستراکتش کردم!!

باز هم همونجوره!!! :(
عنوان: پاسخ به: آنتی ویروس
ارسال شده توسط: alend در 11 مهر 1389، 04:16 ب‌ظ
ویروس یاب avira در نسخه ۹.۰۴ به خوبی کار می کرد و حتی روی حافظه قرار می گرفت و به محض باز کردن فایل ویروسی هشدار می داد.

متاسفانه بعد از نسخه ۹.۰۴ گرچه فعال می شود ولی ویروسها را به صورت خودکار نمی گیرد.

البته در زمان نصب هم هیچ پیغام خطایی هم نمی دهد.

آیا هیچ کدام از دوستان علت آن رامی داند؟