X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=etc%2Fafpd%2Fvolume.c;h=3b02b2390a467dd81de3319fa757ceb709434844;hb=aa105c51d67fe1ab7cfde61d6cd27ceeed3284db;hp=61d744ca70cdc980d21b98734a06b25682e3e1d9;hpb=8fed5c3721b742930a3789f58c104d2a7a234dcf;p=netatalk.git diff --git a/etc/afpd/volume.c b/etc/afpd/volume.c index 61d744ca..3b02b239 100644 --- a/etc/afpd/volume.c +++ b/etc/afpd/volume.c @@ -871,6 +871,11 @@ int afp_openvol(AFPObj *obj, char *ibuf, size_t ibuflen _U_, char *rbuf, size_t goto openvol_err; } } + + const char *msg; + if ((msg = iniparser_getstring(obj->iniconfig, volume->v_configname, "login message", NULL)) != NULL) + setmessage(msg); + return( AFP_OK ); } @@ -889,14 +894,14 @@ openvol_err: return ret; } -void closevol(struct vol *vol) +void closevol(const AFPObj *obj, struct vol *vol) { if (!vol) return; vol->v_flags &= ~AFPVOL_OPEN; - of_closevol(vol); + of_closevol(obj, vol); dir_free( vol->v_root ); vol->v_root = NULL; @@ -914,20 +919,20 @@ void closevol(struct vol *vol) } /* ------------------------- */ -void close_all_vol(void) +void close_all_vol(const AFPObj *obj) { struct vol *ovol; curdir = NULL; for ( ovol = getvolumes(); ovol; ovol = ovol->v_next ) { if ( (ovol->v_flags & AFPVOL_OPEN) ) { ovol->v_flags &= ~AFPVOL_OPEN; - closevol(ovol); + closevol(obj, ovol); } } } /* ------------------------- */ -int afp_closevol(AFPObj *obj _U_, char *ibuf, size_t ibuflen _U_, char *rbuf _U_, size_t *rbuflen) +int afp_closevol(AFPObj *obj, char *ibuf, size_t ibuflen _U_, char *rbuf _U_, size_t *rbuflen) { struct vol *vol; uint16_t vid; @@ -941,7 +946,7 @@ int afp_closevol(AFPObj *obj _U_, char *ibuf, size_t ibuflen _U_, char *rbuf _U_ (void)chdir("/"); curdir = NULL; - closevol(vol); + closevol(obj, vol); return( AFP_OK ); }