up
This commit is contained in:
parent
733a9c066a
commit
db15619f39
19
main.go
19
main.go
@ -43,9 +43,24 @@ func (d *ftpMainDriver) AuthUser(cc ftpserverlib.ClientContext, user, pass strin
|
|||||||
log.Printf("[FTP] Tentative login user='%s' pass='%s'", user, pass)
|
log.Printf("[FTP] Tentative login user='%s' pass='%s'", user, pass)
|
||||||
|
|
||||||
if user == "cangui2089" {
|
if user == "cangui2089" {
|
||||||
//os.MkdirAll("upload", 0755)
|
|
||||||
base := filepath.Clean("upload")
|
base := filepath.Clean("upload")
|
||||||
fs := afero.NewBasePathFs(afero.NewOsFs(), base)
|
absBase, err := filepath.Abs(base)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("[FTP] ERREUR : Impossible de résoudre le chemin absolu de 'upload' : %v", err)
|
||||||
|
return nil, errors.New("erreur chemin upload")
|
||||||
|
}
|
||||||
|
// Vérifie que le dossier existe vraiment et est accessible
|
||||||
|
info, err := os.Stat(absBase)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("[FTP] ERREUR : Le dossier upload n'existe pas (%s) : %v", absBase, err)
|
||||||
|
return nil, errors.New("le dossier upload est absent")
|
||||||
|
}
|
||||||
|
if !info.IsDir() {
|
||||||
|
log.Printf("[FTP] ERREUR : Le chemin upload (%s) n'est pas un dossier", absBase)
|
||||||
|
return nil, errors.New("upload n'est pas un dossier")
|
||||||
|
}
|
||||||
|
log.Printf("[FTP] OK dossier upload : %s (mode %v, owner UID=%d)", absBase, info.Mode(), info.Sys())
|
||||||
|
fs := afero.NewBasePathFs(afero.NewOsFs(), absBase)
|
||||||
return &ftpClientDriver{fs: fs}, nil
|
return &ftpClientDriver{fs: fs}, nil
|
||||||
}
|
}
|
||||||
return nil, errors.New("invalid login")}
|
return nil, errors.New("invalid login")}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user