public void DocumentRootTest() { Conf conf = new Conf(option); var sut = new Target(conf, null); //無効なドキュメントルートを設定する conf.Set("documentRoot", "q:\\"); sut = new Target(conf, null); Assert.AreEqual(sut.DocumentRoot, null); }
//�R���X�g���N�^ protected OneServer(Kernel kernel, Conf conf, OneBind oneBind) : base(kernel.CreateLogger(conf.NameTag,true,null)) { Kernel = kernel; NameTag = conf.NameTag; Conf = conf; _oneBind = oneBind; IsJp = kernel.IsJp(); //Ver6.1.6 Lang = new Lang(IsJp ? LangKind.Jp : LangKind.En, "Server" + conf.NameTag); CheckLang();//��`�̃e�X�g //�e�X�g�p if (Conf == null){ var optionSample = new OptionSample(kernel, ""); Conf = new Conf(optionSample); Conf.Set("port", 9990); Conf.Set("multiple", 10); Conf.Set("acl", new Dat(new CtrlType[0])); Conf.Set("enableAcl", 1); Conf.Set("timeOut", 3); } //�e�X�g�p if (_oneBind == null){ var ip = new Ip(IpKind.V4Localhost); _oneBind = new OneBind(ip, ProtocolKind.Tcp); } Logger = kernel.CreateLogger(conf.NameTag, (bool)Conf.Get("useDetailsLog"), this); _multiple = (int) Conf.Get("multiple"); //DHCP�ɂ�ACL�����݂��Ȃ� if (NameTag != "Dhcp"){ //ACL���X�g ��`�������ꍇ�́AaclList�����Ȃ� var acl = (Dat)Conf.Get("acl"); AclList = new AclList(acl, (int)Conf.Get("enableAcl"), Logger); } Timeout = (int) Conf.Get("timeOut"); }
public void OptionTest(string key, string val) { var request = new Request(null,null); var conf = new Conf(option); conf.Set("documentRoot", val); var header = new Header(); var tcpObj = new SockTcp(new Kernel(), new Ip("0.0.0.0"), 88, 1, null); const string fileName = ""; var env = new Env(_kernel,conf, request, header,tcpObj, fileName); foreach (var e in env) { if (e.Key == key) { Assert.AreEqual(e.Val, val); return; } } Assert.AreEqual(key, ""); }
//パスワード変更 public static bool Change(string user, string pass, MailBox mailBox, Conf conf) { if (pass == null){ //無効なパスワードの指定は失敗する return false; } var dat = (Dat) conf.Get("user"); foreach (var o in dat){ if (o.StrList[0] == user){ o.StrList[1] = Crypt.Encrypt(pass); conf.Set("user", dat); //データ変更 if (mailBox.SetPass(user, pass)){ if (mailBox.Auth(user, pass)){ return true; } } return false; } } return false; }
Fetch _fetch; //自動受信 #endregion Fields #region Constructors //#endif //コンストラクタ public Server(Kernel kernel, Conf conf, OneBind oneBind) : base(kernel, conf, oneBind) { //Ver5.8.9 if (kernel.RunMode == RunMode.Normal || kernel.RunMode == RunMode.Service) { //メールボックスの初期化状態確認 if (kernel.MailBox == null || !kernel.MailBox.Status) { Logger.Set(LogKind.Error, null, 4, ""); return; //初期化失敗(サーバは機能しない) } } //ドメイン名のリスト整備 DomainList = new List<string>(); foreach (var s in ((string)Conf.Get("domainName")).Split(',')) { //Ver6.1.9 // 設定時に誤って空白が入ってしまった際、強制的に削除する DomainList.Add(s.Trim()); //DomainList.Add(s); } if (DomainList.Count == 0) { Logger.Set(LogKind.Error, null, 3, ""); return;//初期化失敗(サーバは機能しない) } //エリアス初期化 Alias = new Alias(DomainList, kernel.MailBox); foreach (var dat in (Dat)Conf.Get("aliasList")) { if (dat.Enable) { var name = dat.StrList[0]; var alias = dat.StrList[1]; Alias.Add(name, alias, Logger); } } //メールキューの初期化 _mailQueue = new MailQueue(kernel.ProgDir()); //SaveMail初期化 var receivedHeader = new ReceivedHeader(kernel, (string)Conf.Get("receivedHeader")); _mailSave = new MailSave(kernel.MailBox,Alias, _mailQueue,Logger, receivedHeader, DomainList); var always = (bool)Conf.Get("always");//キュー常時処理 _agent = new Agent(kernel, this, Conf, Logger, _mailQueue, always); //中継許可の初期化 _relay = new Relay((Dat)Conf.Get("allowList"), (Dat)Conf.Get("denyList"), (int)Conf.Get("order"), Logger); //PopBeforeSmtp _popBeforeSmtp = new PopBeforeSmtp((bool)conf.Get("usePopBeforeSmtp"), (int)conf.Get("timePopBeforeSmtp"), kernel.MailBox); //usePopAccountがfalseの時、内部でmailBoxが無効化される _smtpAuthUserList = new SmtpAuthUserList((bool)Conf.Get("usePopAcount"), Kernel.MailBox, (Dat)Conf.Get("esmtpUserList")); _smtpAuthRange = new SmtpAuthRange((Dat)Conf.Get("range"), (int)Conf.Get("enableEsmtp"), Logger); //ヘッダ置換 _changeHeader = new ChangeHeader((Dat)Conf.Get("patternList"), (Dat)Conf.Get("appendList")); //Ver5.3.3 Ver5.2以前のバージョンのカラムの違いを修正する var d = (Dat)Conf.Get("hostList"); if (d.Count > 0 && d[0].StrList.Count == 6) { foreach (var o in d) { o.StrList.Add("False"); } conf.Set("hostList", d); conf.Save(kernel.IniDb); } //#if ML_SERVER _mlList = new MlList(kernel,this,_mailSave, DomainList); //#endif }